From a70e327a8efaf38d74911ea568419a087fbd235a Mon Sep 17 00:00:00 2001 From: lawrencehj <1934378145@qq.com> Date: 星期四, 15 四月 2021 11:42:05 +0800 Subject: [PATCH] 修改用户密码前先验证旧密码,增加安全性 --- web_src/src/components/UiHeader.vue | 45 +++++++++++++++++++++++++++++++++++++-------- 1 files changed, 37 insertions(+), 8 deletions(-) diff --git a/web_src/src/components/UiHeader.vue b/web_src/src/components/UiHeader.vue index 282a89d..e537953 100644 --- a/web_src/src/components/UiHeader.vue +++ b/web_src/src/components/UiHeader.vue @@ -1,19 +1,30 @@ <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="this.$route.path" 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-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="/parentPlatformList/15/1">鍥芥爣绾ц仈</el-menu-item> + <el-menu-item @click="openDoc">鍦ㄧ嚎鏂囨。</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 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, @@ -21,12 +32,26 @@ }; }, 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(); @@ -35,7 +60,7 @@ let that = this; if (this.alarmNotify) { console.log("鐢宠SSE鎺ㄩ�丄PI璋冪敤锛屾祻瑙堝櫒ID: " + this.$browserId); - this.sseSource = new EventSource('/api/emit?browserId=' + this.$browserId); + this.sseSource = new EventSource('/api/emit?browserId=' + this.$browserId); this.sseSource.addEventListener('message', function(evt) { that.$notify({ title: '鏀跺埌鎶ヨ淇℃伅', @@ -60,7 +85,7 @@ this.sseSource.removeEventListener('message', null); this.sseSource.removeEventListener('error', null); this.sseSource.close(); - } + } } }, mounted() { @@ -70,6 +95,10 @@ }, 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)) }, } -- Gitblit v1.8.0