message.store.js
1.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import { MESSAGE_STATUS, createMessageFixtureList } from '../fixtures/message.fixture'
let messageList = null
export const ensureMessageStore = () => {
if (!messageList) {
messageList = createMessageFixtureList()
}
return messageList
}
export const getMessagePage = ({ page = 0, limit = 6 } = {}) => {
const list = ensureMessageStore()
const start = Number(page) * Number(limit)
const pageList = list.slice(start, start + Number(limit)).map((item) => ({
id: item.id,
title: item.title,
summary: item.summary,
status: item.status,
category: item.category,
created_time: item.created_time,
}))
return {
list: pageList,
total: list.length,
page: Number(page),
limit: Number(limit),
has_more: start + Number(limit) < list.length,
}
}
export const getMessageDetail = (id) => {
const list = ensureMessageStore()
const current = list.find((item) => item.id === String(id || ''))
if (!current) {
return null
}
current.status = MESSAGE_STATUS.read
return { ...current }
}