From e770cfc39fd992e1822774ae15de3812be158f7f Mon Sep 17 00:00:00 2001 From: liyongde <1419499670@qq.com> Date: Mon, 2 Sep 2024 11:25:44 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=80=9A=E7=9F=A5websocket=E4=B8=8E?= =?UTF-8?q?=E6=9D=83=E9=99=90=E7=9A=84admin=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/role/impl/SysRoleServiceImpl.java | 6 ++-- nladmin-ui/src/layout/components/Navbar.vue | 31 +++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/role/impl/SysRoleServiceImpl.java b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/role/impl/SysRoleServiceImpl.java index 3b52db0..c5d098c 100644 --- a/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/role/impl/SysRoleServiceImpl.java +++ b/nladmin-system/nlsso-server/src/main/java/org/nl/system/service/role/impl/SysRoleServiceImpl.java @@ -133,8 +133,10 @@ public class SysRoleServiceImpl extends ServiceImpl impl public List getPermissionList(JSONObject userDto) { List permission = new LinkedList<>(); // 查看是否为管理员 - permission.add("admin"); - permission.addAll(sysMenuMapper.getPermissionByUserId(userDto.getString("userId"))); + if (userDto.getBoolean("is_admin")) { + permission.add("admin"); + } + permission.addAll(sysMenuMapper.getPermissionByUserId(userDto.getString("user_id"))); return permission; } diff --git a/nladmin-ui/src/layout/components/Navbar.vue b/nladmin-ui/src/layout/components/Navbar.vue index 4c8e4e8..e101e5e 100644 --- a/nladmin-ui/src/layout/components/Navbar.vue +++ b/nladmin-ui/src/layout/components/Navbar.vue @@ -73,6 +73,7 @@ import Search from '@/components/HeaderSearch' import Avatar from '@/assets/images/avatar.png' import NoticeIcon from '@/views/system/notice/NoticeIcon.vue' import NoticeIconReader from '@/views/system/notice/NoticeIconReader.vue' +import i18n from '@/i18n' export default { components: { @@ -95,6 +96,7 @@ export default { }, created() { this.initLang() + this.initWebSocket() }, computed: { ...mapGetters([ @@ -162,6 +164,35 @@ export default { this.$store.dispatch('LogOut').then(() => { location.reload() }) + }, + initWebSocket() { + // const wsUri = (process.env.VUE_APP_WS_API === '/' ? '/' : (process.env.VUE_APP_WS_API + '/')) + 'messageInfo' + const wsUri = process.env.VUE_APP_WS_API + '/webSocket/' + 'messageInfo' + this.websock = new WebSocket(wsUri) + this.websock.onerror = this.webSocketOnError + this.websock.onmessage = this.webSocketOnMessage + }, + webSocketOnError(e) { + this.$notify({ + title: i18n.t('common.Tip14'), + type: 'error', + duration: 0 + }) + }, + webSocketOnMessage(e) { + const data = JSON.parse(e.data) + if (data.msgType === 'INFO') { + // console.log('data', data) + this.$bus.emit(data.msg.data, data.msg.msgType) + } else if (data.msgType === 'ERROR') { + this.$notify({ + title: '', + message: data.msg, + dangerouslyUseHTMLString: true, + type: 'error', + duration: 0 + }) + } } } }