From e641f06a7274d9965aab4cf48068de840bb86c3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=86=8A=E4=B8=BD=E5=90=9B?= <664953382@qq.com> Date: Wed, 18 Aug 2021 11:41:07 +0800 Subject: [PATCH] up --- src/api/login.js | 8 +++++ src/layout/components/Navbar.vue | 58 +++++++++++++++++++------------- src/store/getters.js | 1 + src/store/modules/user.js | 9 ++++- src/views/service/index.vue | 11 ++++-- 5 files changed, 61 insertions(+), 26 deletions(-) diff --git a/src/api/login.js b/src/api/login.js index 49165e4..02dc3b3 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -30,6 +30,14 @@ export function logout() { }) } +// 获取总的未读条数 +export function getNoReadCount(params) { + return request({ + url: '/chat/getNoReadCount', + params: params + }); +} + export function fetchList(params) { return request({ url: '/admin/list', diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 482e7bc..8ff341e 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -10,17 +10,23 @@
- @@ -78,10 +86,10 @@ export default { SizeSelect, Search, RuoYiGit, - RuoYiDoc + RuoYiDoc, }, computed: { - ...mapGetters(['sidebar', 'avatar', 'device']), + ...mapGetters(['sidebar', 'avatar', 'device', 'redNum']), setting: { get() { return this.$store.state.settings.showSettings; @@ -89,10 +97,10 @@ export default { set(val) { this.$store.dispatch('settings/changeSetting', { key: 'showSettings', - value: val + value: val, }); - } - } + }, + }, }, methods: { toggleSideBar() { @@ -102,14 +110,14 @@ export default { this.$confirm('确定注销并退出系统吗?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', - type: 'warning' + type: 'warning', }).then(() => { this.$store.dispatch('LogOut').then(() => { location.href = '/index'; }); }); - } - } + }, + }, }; @@ -153,17 +161,17 @@ export default { &:focus { outline: none; } - .news{ + .news { position: relative; font-size: 25px; - margin-right: 10px; - .red{ + margin-right: 15px; + .red { position: absolute; top: 0; right: 0; - width: 5px; - height: 5px; - border-radius: 50%; + width: 20px; + height: 20px; + // border-radius: 50%; background-color: red; } } @@ -211,4 +219,8 @@ export default { } } } +/deep/.el-badge__content.is-fixed { + top: 10px; + right: 15px; +} diff --git a/src/store/getters.js b/src/store/getters.js index 576b434..cb99559 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, + redNum: state => state.user.redNum, 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 f077af5..2454e5f 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,4 +1,4 @@ -import { login, logout, getInfo } from '@/api/login'; +import { login, logout, getInfo, getNoReadCount } from '@/api/login'; import { getToken, setToken, removeToken } from '@/utils/auth'; const user = { @@ -7,6 +7,7 @@ const user = { name: '', userId: '', avatar: '', + redNum: 0, roles: [], permissions: [] }, @@ -25,6 +26,9 @@ const user = { SET_AVATAR: (state, avatar) => { state.avatar = avatar; }, + SET_REDNUM: (state, redNum) => { + state.redNum = redNum; + }, SET_ROLES: (state, roles) => { state.roles = roles; }, @@ -76,6 +80,9 @@ const user = { .catch(error => { reject(error); }); + getNoReadCount().then(({data})=>{ + commit('SET_REDNUM', data); + }) }); }, diff --git a/src/views/service/index.vue b/src/views/service/index.vue index 2d20484..c4d0be4 100644 --- a/src/views/service/index.vue +++ b/src/views/service/index.vue @@ -176,7 +176,7 @@ export default { this.queryParams.pageNum * this.queryParams.pageSize >= this.msgTotal ) - return this.msgInfo('已经加载完成'); + return this.msgInfo('已经到顶了'); this.queryParams.pageNum++; this.getMsgList(); } @@ -213,6 +213,9 @@ export default { this.userList = data.list; this.userTotal = data.total; }); + setTimeout(() => { + this.getUserList(); + }, 600000); }, // 用户发送消息 sentMsg() { @@ -305,7 +308,11 @@ export default { }); info.msgNoReadCount = 0; }); - } else { + } + // else if(){ + + // } + else { const userInfo = this.userList.find((item) => { return item.id == data.sendUserId; });