Browse Source

优化录像推送开关

pull/249/head
648540858 3 years ago
parent
commit
3bf2e6eee5
  1. 40
      web_src/src/components/UiHeader.vue

40
web_src/src/components/UiHeader.vue

@ -15,7 +15,7 @@
<!-- <el-menu-item index="/setting/sip">国标服务</el-menu-item>--> <!-- <el-menu-item index="/setting/sip">国标服务</el-menu-item>-->
<!-- <el-menu-item index="/setting/media">媒体服务</el-menu-item>--> <!-- <el-menu-item index="/setting/media">媒体服务</el-menu-item>-->
<!-- </el-submenu>--> <!-- </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-menu-item style="float: right;" @click="loginout">退出</el-menu-item>-->
<el-submenu index="" style="float: right;" > <el-submenu index="" style="float: right;" >
<template slot="title">欢迎{{this.$cookies.get("session").username}}</template> <template slot="title">欢迎{{this.$cookies.get("session").username}}</template>
@ -35,11 +35,23 @@ export default {
components: { Notification, changePasswordDialog }, components: { Notification, changePasswordDialog },
data() { data() {
return { return {
alarmNotify: true, alarmNotify: false,
sseSource: null, sseSource: null,
activeIndex: this.$route.path, 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:{ methods:{
loginout(){ loginout(){
this.$axios({ this.$axios({
@ -65,6 +77,10 @@ export default {
beforeunloadHandler() { beforeunloadHandler() {
this.sseSource.close(); this.sseSource.close();
}, },
alarmNotifyChannge(){
this.setAlarmSwitchStatus()
this.sseControl()
},
sseControl() { sseControl() {
let that = this; let that = this;
if (this.alarmNotify) { if (this.alarmNotify) {
@ -90,31 +106,35 @@ export default {
} }
}, false); }, false);
} else { } else {
if (this.sseSource != null) {
this.sseSource.removeEventListener('open', null); this.sseSource.removeEventListener('open', null);
this.sseSource.removeEventListener('message', null); this.sseSource.removeEventListener('message', null);
this.sseSource.removeEventListener('error', null); this.sseSource.removeEventListener('error', null);
this.sseSource.close(); this.sseSource.close();
} }
} }
}, },
created(){ getAlarmSwitchStatus(){
if (this.$route.path.startsWith("/channelList")){ if (localStorage.getItem("alarmSwitchStatus") == null) {
this.activeIndex = "/deviceList" localStorage.setItem("alarmSwitchStatus", false);
} }
return localStorage.getItem("alarmSwitchStatus");
}, },
mounted() { setAlarmSwitchStatus(){
window.addEventListener('beforeunload', e => this.beforeunloadHandler(e)) localStorage.setItem("alarmSwitchStatus", this.alarmNotify);
// window.addEventListener('unload', e => this.unloadHandler(e)) }
this.sseControl();
}, },
destroyed() { destroyed() {
window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e)) window.removeEventListener('beforeunload', e => this.beforeunloadHandler(e))
if (this.sseSource != null) {
this.sseSource.removeEventListener('open', null); this.sseSource.removeEventListener('open', null);
this.sseSource.removeEventListener('message', null); this.sseSource.removeEventListener('message', null);
this.sseSource.removeEventListener('error', null); this.sseSource.removeEventListener('error', null);
this.sseSource.close(); this.sseSource.close();
// window.removeEventListener('unload', e => this.unloadHandler(e)) }
}, },
} }
</script> </script>

Loading…
Cancel
Save