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;
});