From 3bf2e6eee58f78be92e857bb18d2d11f7e1412b8 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 26 十一月 2021 15:15:55 +0800 Subject: [PATCH] 优化录像推送开关 --- web_src/src/components/UiHeader.vue | 62 ++++++++++++++++++++---------- 1 files changed, 41 insertions(+), 21 deletions(-) diff --git a/web_src/src/components/UiHeader.vue b/web_src/src/components/UiHeader.vue index b2e9bbb..6391fe8 100644 --- a/web_src/src/components/UiHeader.vue +++ b/web_src/src/components/UiHeader.vue @@ -15,7 +15,7 @@ <!-- <el-menu-item index="/setting/sip">鍥芥爣鏈嶅姟</el-menu-item>--> <!-- <el-menu-item index="/setting/media">濯掍綋鏈嶅姟</el-menu-item>--> <!-- </el-submenu>--> - <el-switch v-model="alarmNotify" active-text="鎶ヨ淇℃伅鎺ㄩ��" style="display: block float: right" @change="sseControl"></el-switch> + <el-switch v-model="alarmNotify" active-text="鎶ヨ淇℃伅鎺ㄩ��" style="display: block float: right" @change="alarmNotifyChannge"></el-switch> <!-- <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> @@ -35,10 +35,22 @@ components: { Notification, changePasswordDialog }, data() { return { - alarmNotify: true, + alarmNotify: false, sseSource: null, activeIndex: this.$route.path, }; + }, + created(){ + 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(); }, methods:{ loginout(){ @@ -65,6 +77,10 @@ beforeunloadHandler() { this.sseSource.close(); }, + alarmNotifyChannge(){ + this.setAlarmSwitchStatus() + this.sseControl() + }, sseControl() { let that = this; if (this.alarmNotify) { @@ -90,31 +106,35 @@ } }, false); } else { - this.sseSource.removeEventListener('open', null); - this.sseSource.removeEventListener('message', null); - this.sseSource.removeEventListener('error', null); - this.sseSource.close(); + if (this.sseSource != null) { + this.sseSource.removeEventListener('open', null); + this.sseSource.removeEventListener('message', null); + this.sseSource.removeEventListener('error', null); + this.sseSource.close(); + } + } + }, + getAlarmSwitchStatus(){ + if (localStorage.getItem("alarmSwitchStatus") == null) { + localStorage.setItem("alarmSwitchStatus", false); + } + return localStorage.getItem("alarmSwitchStatus"); + }, + setAlarmSwitchStatus(){ + localStorage.setItem("alarmSwitchStatus", this.alarmNotify); } - }, - created(){ - 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.sseControl(); }, destroyed() { window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e)) - this.sseSource.removeEventListener('open', null); - this.sseSource.removeEventListener('message', null); - this.sseSource.removeEventListener('error', null); - this.sseSource.close(); - // window.removeEventListener('unload', e => this.unloadHandler(e)) + if (this.sseSource != null) { + this.sseSource.removeEventListener('open', null); + this.sseSource.removeEventListener('message', null); + this.sseSource.removeEventListener('error', null); + this.sseSource.close(); + } }, + } </script> -- Gitblit v1.8.0