Skip to content

Commit 387b0b3

Browse files
author
zhigang.li
committed
优化消息中心数据获取
1 parent 22ceb98 commit 387b0b3

File tree

5 files changed

+37
-7
lines changed

5 files changed

+37
-7
lines changed

Diff for: src/api/user.js

+7
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@ export const logout = (token) => {
2929
})
3030
}
3131

32+
export const getUnreadCount = () => {
33+
return axios.request({
34+
url: 'message/count',
35+
method: 'get'
36+
})
37+
}
38+
3239
export const getMessage = () => {
3340
return axios.request({
3441
url: 'message/init',

Diff for: src/components/main/main.vue

+9-4
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<Layout>
1313
<Header class="header-con">
1414
<header-bar :collapsed="collapsed" @on-coll-change="handleCollapsedChange">
15-
<user :message-unread-count="messageUnreadCount" :user-avator="userAvator"/>
15+
<user :message-unread-count="unreadCount" :user-avator="userAvator"/>
1616
<language v-if="$config.useI18n" @on-lang-change="setLocal" style="margin-right: 10px;" :lang="local"/>
1717
<error-store v-if="$config.plugin['error-store'] && $config.plugin['error-store'].showInHeader" :has-read="hasReadErrorPage" :count="errorCount"></error-store>
1818
<fullscreen v-model="isFullscreen" style="margin-right: 10px;"/>
@@ -68,8 +68,7 @@ export default {
6868
},
6969
computed: {
7070
...mapGetters([
71-
'errorCount',
72-
'messageUnreadCount'
71+
'errorCount'
7372
]),
7473
tagNavList () {
7574
return this.$store.state.app.tagNavList
@@ -91,6 +90,9 @@ export default {
9190
},
9291
hasReadErrorPage () {
9392
return this.$store.state.app.hasReadErrorPage
93+
},
94+
unreadCount () {
95+
return this.$store.state.user.unreadCount
9496
}
9597
},
9698
methods: {
@@ -102,7 +104,8 @@ export default {
102104
'setHomeRoute'
103105
]),
104106
...mapActions([
105-
'handleLogin'
107+
'handleLogin',
108+
'getUnreadMessageCount'
106109
]),
107110
turnToPage (route) {
108111
let { name, params, query } = {}
@@ -170,6 +173,8 @@ export default {
170173
name: this.$config.homeName
171174
})
172175
}
176+
// 获取未读消息条数
177+
this.getUnreadMessageCount()
173178
}
174179
}
175180
</script>

Diff for: src/mock/index.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import Mock from 'mockjs'
22
import { login, logout, getUserInfo } from './login'
33
import { getTableData, getDragList, uploadImage } from './data'
4-
import { getMessageInit, getContentByMsgId, hasRead, removeReaded, restoreTrash } from './user'
4+
import { getMessageInit, getContentByMsgId, hasRead, removeReaded, restoreTrash, messageCount } from './user'
55

66
// 配置Ajax请求延时,可用来测试网络延迟大时项目中一些效果
77
Mock.setup({
@@ -21,5 +21,6 @@ Mock.mock(/\/message\/content/, getContentByMsgId)
2121
Mock.mock(/\/message\/has_read/, hasRead)
2222
Mock.mock(/\/message\/remove_readed/, removeReaded)
2323
Mock.mock(/\/message\/restore/, restoreTrash)
24+
Mock.mock(/\/message\/count/, messageCount)
2425

2526
export default Mock

Diff for: src/mock/user.js

+4
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,7 @@ export const removeReaded = () => {
4949
export const restoreTrash = () => {
5050
return true
5151
}
52+
53+
export const messageCount = () => {
54+
return 3
55+
}

Diff for: src/store/module/user.js

+15-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import {
66
getContentByMsgId,
77
hasRead,
88
removeReaded,
9-
restoreTrash
9+
restoreTrash,
10+
getUnreadCount
1011
} from '@/api/user'
1112
import { setToken, getToken } from '@/libs/util'
1213

@@ -18,6 +19,7 @@ export default {
1819
token: getToken(),
1920
access: '',
2021
hasGetInfo: false,
22+
unreadCount: 0,
2123
messageUnreadList: [],
2224
messageReadedList: [],
2325
messageTrashList: [],
@@ -43,6 +45,9 @@ export default {
4345
setHasGetInfo (state, status) {
4446
state.hasGetInfo = status
4547
},
48+
setMessageCount (state, count) {
49+
state.unreadCount = count
50+
},
4651
setMessageUnreadList (state, list) {
4752
state.messageUnreadList = list
4853
},
@@ -120,6 +125,13 @@ export default {
120125
}
121126
})
122127
},
128+
// 此方法用来获取未读消息条数,接口只返回数值,不返回消息列表
129+
getUnreadMessageCount ({ state, commit }) {
130+
getUnreadCount().then(res => {
131+
const { data } = res
132+
commit('setMessageCount', data)
133+
})
134+
},
123135
// 获取消息列表,其中包含未读、已读、回收站三个列表
124136
getMessageList ({ state, commit }) {
125137
return new Promise((resolve, reject) => {
@@ -156,14 +168,15 @@ export default {
156168
})
157169
},
158170
// 把一个未读消息标记为已读
159-
hasRead ({ commit }, { msg_id }) {
171+
hasRead ({ state, commit }, { msg_id }) {
160172
return new Promise((resolve, reject) => {
161173
hasRead(msg_id).then(() => {
162174
commit('moveMsg', {
163175
from: 'messageUnreadList',
164176
to: 'messageReadedList',
165177
msg_id
166178
})
179+
commit('setMessageCount', state.unreadCount - 1)
167180
resolve()
168181
}).catch(error => {
169182
reject(error)

0 commit comments

Comments
 (0)