From 16f699f7a4b09a517e687b074b7dd2f851433b06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=86=8A=E4=B8=BD=E5=90=9B?= <664953382@qq.com> Date: Tue, 24 Aug 2021 14:18:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0badge=E5=B0=8F=E7=BA=A2?= =?UTF-8?q?=E7=82=B9=E5=92=8C=E4=BF=AE=E5=A4=8D=E4=BC=81=E4=B8=9A=E7=94=BB?= =?UTF-8?q?=E5=83=8F=E7=9A=84=E6=A3=80=E7=B4=A2=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/home/news.js | 7 +++++++ src/permission.js | 1 + src/store/getters.js | 1 + src/store/modules/user.js | 19 +++++++++++++++++++ src/views/home/mine.vue | 23 +++++++++++++++++++++-- src/views/home/news.vue | 2 ++ src/views/index.vue | 33 ++++++++++++++++++++++++++++++--- src/views/portrait.vue | 18 ++++++++++++------ src/views/result.vue | 5 ++++- 9 files changed, 97 insertions(+), 12 deletions(-) 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 @@