From 41616f726dafafe7c015bf4f3e02a7aa9488a3a2 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 07 三月 2022 10:47:06 +0800
Subject: [PATCH] 修复导入通道时无平台关联时的bug
---
web_src/src/components/UiHeader.vue | 105 ++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 85 insertions(+), 20 deletions(-)
diff --git a/web_src/src/components/UiHeader.vue b/web_src/src/components/UiHeader.vue
index f16beba..828dda9 100644
--- a/web_src/src/components/UiHeader.vue
+++ b/web_src/src/components/UiHeader.vue
@@ -1,40 +1,92 @@
<template>
<div id="UiHeader">
- <el-menu router :default-active="this.$route.path" background-color="#545c64" text-color="#fff" active-text-color="#ffd04b" mode="horizontal">
+ <el-menu router :default-active="activeIndex" menu-trigger="click" background-color="#545c64" text-color="#fff" active-text-color="#ffd04b" mode="horizontal">
<el-menu-item index="/">鎺у埗鍙�</el-menu-item>
- <el-menu-item index="/videoList">璁惧鍒楄〃</el-menu-item>
- <!-- <el-menu-item index="/videoReplay">褰曞儚鍥炵湅</el-menu-item> -->
- <el-switch v-model="alarmNotify" active-text="鎶ヨ淇℃伅鎺ㄩ��" style="display: block float: right" @change="sseControl"></el-switch>
- <el-menu-item style="float: right;" @click="loginout">閫�鍑�</el-menu-item>
+ <el-menu-item index="/live">瀹炴椂鐩戞帶</el-menu-item>
+ <el-menu-item index="/deviceList">鍥芥爣璁惧</el-menu-item>
+ <el-menu-item index="/pushVideoList">鎺ㄦ祦鍒楄〃</el-menu-item>
+ <el-menu-item index="/streamProxyList">鎷夋祦浠g悊</el-menu-item>
+ <el-menu-item index="/cloudRecord">浜戠褰曞儚</el-menu-item>
+ <el-menu-item index="/mediaServerManger">鑺傜偣绠$悊</el-menu-item>
+ <el-menu-item index="/parentPlatformList/15/1">鍥芥爣绾ц仈</el-menu-item>
+ <el-menu-item @click="openDoc">鍦ㄧ嚎鏂囨。</el-menu-item>
+<!-- <el-submenu index="/setting">-->
+<!-- <template slot="title">绯荤粺璁剧疆</template>-->
+<!-- <el-menu-item index="/setting/web">WEB鏈嶅姟</el-menu-item>-->
+<!-- <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="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>
+ <el-menu-item @click="changePassword">淇敼瀵嗙爜</el-menu-item>
+ <el-menu-item @click="loginout">娉ㄩ攢</el-menu-item>
+ </el-submenu>
</el-menu>
+ <changePasswordDialog ref="changePasswordDialog"></changePasswordDialog>
</div>
</template>
<script>
+
+import changePasswordDialog from './dialog/changePassword.vue'
export default {
name: "UiHeader",
- components: { Notification },
+ components: { Notification, changePasswordDialog },
data() {
return {
- alarmNotify: true,
+ alarmNotify: false,
sseSource: null,
+ activeIndex: this.$route.path,
};
},
- methods:{
+ 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(){
+ this.$axios({
+ method: 'get',
+ url:"/api/user/logout"
+ }).then((res)=> {
// 鍒犻櫎cookie锛屽洖鍒扮櫥褰曢〉闈�
this.$cookies.remove("session");
this.$router.push('/login');
this.sseSource.close();
+ }).catch((error)=> {
+ console.error("鐧诲嚭澶辫触")
+ console.error(error)
+ });
+ },
+ changePassword(){
+ this.$refs.changePasswordDialog.openDialog()
+ },
+ openDoc(){
+ console.log(process.env.BASE_API)
+ window.open( !!process.env.BASE_API? process.env.BASE_API + "/doc.html": "/doc.html")
},
beforeunloadHandler() {
this.sseSource.close();
},
+ alarmNotifyChannge(){
+ this.setAlarmSwitchStatus()
+ this.sseControl()
+ },
sseControl() {
let that = this;
if (this.alarmNotify) {
- this.sseSource = new EventSource('/api/emit');
+ console.log("鐢宠SSE鎺ㄩ�丄PI璋冪敤锛屾祻瑙堝櫒ID: " + this.$browserId);
+ this.sseSource = new EventSource('/api/emit?browserId=' + this.$browserId);
this.sseSource.addEventListener('message', function(evt) {
that.$notify({
title: '鏀跺埌鎶ヨ淇℃伅',
@@ -55,22 +107,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);
}
- },
- 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))
- // 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