diff --git a/src/api/home/news.js b/src/api/home/news.js index 93a75e3..3e893ea 100644 --- a/src/api/home/news.js +++ b/src/api/home/news.js @@ -14,3 +14,10 @@ export function readPush(params) { params }); } +// 获取未读消息条数 +export function getMsgCount(params) { + return request({ + url: '/mobile/getMsgCount', + params + }); +} diff --git a/src/permission.js b/src/permission.js index 75f7cd7..43d9d09 100644 --- a/src/permission.js +++ b/src/permission.js @@ -27,6 +27,7 @@ router.beforeEach((to, from, next) => { // router.addRoutes(store.getters.addRoutes); // 动态添加可访问路由表 // next({ ...to, replace: true }); // }); + store.dispatch('GetBadge'); }) .catch(err => { store.dispatch('FedLogOut').then(() => { diff --git a/src/store/getters.js b/src/store/getters.js index 576b434..cd64f26 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -6,6 +6,7 @@ const getters = { cachedViews: state => state.tagsView.cachedViews, token: state => state.user.token, avatar: state => state.user.avatar, + badge: state => state.user.badge, name: state => state.user.name, introduction: state => state.user.introduction, roles: state => state.user.roles, diff --git a/src/store/modules/user.js b/src/store/modules/user.js index bc82909..99fcef0 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,9 +1,11 @@ import { login, register, logout, getInfo } from '@/api/login'; +import { getMsgCount } from '@/api/home/news'; import { getToken, setToken, removeToken } from '@/utils/auth'; const user = { state: { token: getToken(), + badge: null, name: '', userId: '', avatar: '', @@ -15,6 +17,9 @@ const user = { SET_TOKEN: (state, token) => { state.token = token; }, + SET_BADGE: (state, badge) => { + state.badge = badge; + }, SET_NAME: (state, name) => { state.name = name; }, @@ -69,6 +74,20 @@ const user = { }); }, + GetBadge({ commit, state }) { + return new Promise((resolve, reject) => { + getMsgCount() + .then(({ data }) => { + if (data === 0) data = null; + commit('SET_BADGE', data); + resolve(data); + }) + .catch(error => { + reject(error); + }); + }); + }, + // 获取用户信息 GetInfo({ commit, state }) { return new Promise((resolve, reject) => { diff --git a/src/views/home/mine.vue b/src/views/home/mine.vue index 3277655..b020333 100644 --- a/src/views/home/mine.vue +++ b/src/views/home/mine.vue @@ -2,8 +2,22 @@