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 @@
-
+
{{ item.name }} +
退出登录
@@ -14,6 +28,7 @@
@@ -267,6 +289,11 @@ export default { .el-badge { // display: block; // position: relative; + top: 10px; + right: 8px; + border: 1px solid #ffa32c; + border-radius: 50%; + box-shadow: 5px 5px 5px 0px #dadada; .user-avatar { vertical-align: middle; cursor: pointer; @@ -415,7 +442,7 @@ export default { } } /deep/.el-badge__content.is-fixed { - top: 10px; + top: 5px; right: 15px; } @media (max-width: 1024px) { diff --git a/src/views/portrait.vue b/src/views/portrait.vue index bcee930..69a7856 100644 --- a/src/views/portrait.vue +++ b/src/views/portrait.vue @@ -132,13 +132,19 @@ export default { getLabelSetting({ companyId: data.companyId }).then(({ data }) => { if (data.length) { console.log(data); - this.portraitList = data.map(item => - item.labelList - ? item.labelList.filter(v => v.isHas)[0] - ? item.labelList.filter(v => v.isHas)[0] - : '' - : undefined + // this.portraitList = data.map(item => + // item.labelList + // ? item.labelList.filter(v => v.isHas)[0] + // ? item.labelList.filter(v => v.isHas)[0] + // : '' + // : undefined + // ); + const arrs = data.map(item => + item.labelList ? item.labelList.filter(v => v.isHas) : undefined ); + arrs.map(item => { + this.portraitList = [...this.portraitList, ...item]; + }); this.queryParams.labelId = this.portraitList[0].id; this.getPortraitList(); } diff --git a/src/views/result.vue b/src/views/result.vue index 5bbf8c7..654fe28 100644 --- a/src/views/result.vue +++ b/src/views/result.vue @@ -78,7 +78,10 @@
-
+