From 32fbfd8d1e77e8745482b6df487f7f0acdd2721b Mon Sep 17 00:00:00 2001
From: lawrencehj <1934378145@qq.com>
Date: 星期日, 14 三月 2021 21:13:28 +0800
Subject: [PATCH] 增加上级平台查询DeviceInfo和DeviceStatus的响应功能
---
web_src/src/components/UiHeader.vue | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 55 insertions(+), 4 deletions(-)
diff --git a/web_src/src/components/UiHeader.vue b/web_src/src/components/UiHeader.vue
index fa57b26..bafc209 100644
--- a/web_src/src/components/UiHeader.vue
+++ b/web_src/src/components/UiHeader.vue
@@ -3,7 +3,8 @@
<el-menu router :default-active="this.$route.path" 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="/parentPlatformList/15/1">鍥芥爣绾ц仈</el-menu-item>
+ <el-menu-item index="/parentPlatformList/15/1">鍥芥爣绾ц仈</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>
</div>
@@ -12,14 +13,64 @@
<script>
export default {
name: "UiHeader",
+ components: { Notification },
+ data() {
+ return {
+ alarmNotify: true,
+ sseSource: null,
+ };
+ },
methods:{
-
loginout(){
// 鍒犻櫎cookie锛屽洖鍒扮櫥褰曢〉闈�
this.$cookies.remove("session");
this.$router.push('/login');
+ this.sseSource.close();
},
- }
-}
+ beforeunloadHandler() {
+ this.sseSource.close();
+ },
+ sseControl() {
+ let that = this;
+ if (this.alarmNotify) {
+ 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: '鏀跺埌鎶ヨ淇℃伅',
+ dangerouslyUseHTMLString: true,
+ message: evt.data,
+ type: 'warning'
+ });
+ console.log("鏀跺埌淇℃伅锛�" + evt.data);
+ });
+ this.sseSource.addEventListener('open', function(e) {
+ console.log("SSE杩炴帴鎵撳紑.");
+ }, false);
+ this.sseSource.addEventListener('error', function(e) {
+ if (e.target.readyState == EventSource.CLOSED) {
+ console.log("SSE杩炴帴鍏抽棴");
+ } else {
+ console.log(e.target.readyState);
+ }
+ }, false);
+ } else {
+ this.sseSource.removeEventListener('open', null);
+ this.sseSource.removeEventListener('message', null);
+ this.sseSource.removeEventListener('error', null);
+ this.sseSource.close();
+ }
+ }
+ },
+ 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))
+ },
+ }
</script>
--
Gitblit v1.8.0