From c6dfb63f8fd5f04fa00ac6c45da2eb6bcc5cada4 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 25 三月 2024 23:59:50 +0800
Subject: [PATCH] 优化hook通知
---
web_src/src/layout/UiHeader.vue | 45 +++++++++++++++++++++++++++++----------------
1 files changed, 29 insertions(+), 16 deletions(-)
diff --git a/web_src/src/layout/UiHeader.vue b/web_src/src/layout/UiHeader.vue
old mode 100644
new mode 100755
index fa9be3e..fdfcb9f
--- a/web_src/src/layout/UiHeader.vue
+++ b/web_src/src/layout/UiHeader.vue
@@ -23,9 +23,9 @@
<!-- </el-submenu>-->
<!-- <el-menu-item style="float: right;" @click="loginout">閫�鍑�</el-menu-item>-->
<el-submenu index="" style="float: right;">
- <template slot="title">娆㈣繋锛寋{ this.$cookies.get("session").username }}</template>
+ <template slot="title">娆㈣繋锛寋{ username }}</template>
<el-menu-item @click="openDoc">鍦ㄧ嚎鏂囨。</el-menu-item>
- <el-menu-item >
+ <el-menu-item>
<el-switch v-model="alarmNotify" inactive-text="鎶ヨ淇℃伅鎺ㄩ��" @change="alarmNotifyChannge"></el-switch>
</el-menu-item>
<el-menu-item @click="changePassword">淇敼瀵嗙爜</el-menu-item>
@@ -37,8 +37,9 @@
</template>
<script>
-
import changePasswordDialog from '../components/dialog/changePassword.vue'
+import userService from '../components/service/UserService'
+import {Notification} from 'element-ui';
export default {
name: "UiHeader",
@@ -47,21 +48,25 @@
return {
alarmNotify: false,
sseSource: null,
+ username: userService.getUser().username,
activeIndex: this.$route.path,
- editUser: this.$cookies.get("session").roleId==1
+ editUser: userService.getUser() ? userService.getUser().role.id === 1 : false
};
},
created() {
- console.log(this.$cookies.get("session"))
+ console.log(JSON.stringify(userService.getUser()))
if (this.$route.path.startsWith("/channelList")) {
this.activeIndex = "/deviceList"
}
},
mounted() {
window.addEventListener('beforeunload', e => this.beforeunloadHandler(e))
- // window.addEventListener('unload', e => this.unloadHandler(e))
this.alarmNotify = this.getAlarmSwitchStatus() === "true";
- this.sseControl();
+
+ // TODO: 姝ゅ寤惰繜杩炴帴 sse, 閬垮厤 sse 杩炴帴鏃� browserId 杩樻湭鐢熸垚, 鍚庣画寰呬紭鍖�
+ setTimeout(() => {
+ this.sseControl()
+ }, 3000);
},
methods: {
loginout() {
@@ -69,10 +74,13 @@
method: 'get',
url: "/api/user/logout"
}).then((res) => {
- // 鍒犻櫎cookie锛屽洖鍒扮櫥褰曢〉闈�
- this.$cookies.remove("session");
+ // 鍒犻櫎鐢ㄦ埛淇℃伅锛屽洖鍒扮櫥褰曢〉闈�
+ userService.clearUserInfo()
this.$router.push('/login');
- this.sseSource.close();
+ if (this.sseSource != null) {
+ this.sseSource.close();
+ }
+
}).catch((error) => {
console.error("鐧诲嚭澶辫触")
console.error(error)
@@ -99,10 +107,12 @@
this.sseSource = new EventSource('/api/emit?browserId=' + this.$browserId);
this.sseSource.addEventListener('message', function (evt) {
that.$notify({
- title: '鏀跺埌鎶ヨ淇℃伅',
+ title: '鎶ヨ淇℃伅',
dangerouslyUseHTMLString: true,
message: evt.data,
- type: 'warning'
+ type: 'warning',
+ position: 'bottom-right',
+ duration: 3000
});
console.log("鏀跺埌淇℃伅锛�" + evt.data);
});
@@ -151,16 +161,19 @@
</script>
<style>
#UiHeader .el-switch__label {
- color: white ;
+ color: white;
}
+
.el-menu--popup .el-menu-item .el-switch .el-switch__label {
color: white !important;
}
-#UiHeader .el-switch__label.is-active{
+
+#UiHeader .el-switch__label.is-active {
color: #409EFF;
}
+
#UiHeader .el-menu-item.is-active {
- color: #fff!important;
- background-color: #1890ff!important;
+ color: #fff !important;
+ background-color: #1890ff !important;
}
</style>
--
Gitblit v1.8.0