From 5cf009d5ee7cd782a360848d5c2d7b71aec4d8af Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期三, 19 七月 2023 11:07:55 +0800
Subject: [PATCH] 1.接入signalR 消息推送功能

---
 src/layout/components/Navbar.vue |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index e504d48..41a17d2 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -64,6 +64,13 @@
           <el-tooltip class="item" effect="dark" content="鍏ㄥ睆" placement="bottom">
             <screenfull id="screenfull" class="right-menu-item hover-effect" />
           </el-tooltip>
+
+          <el-tooltip class="item" effect="dark" content="鎴戠殑娑堟伅" placement="bottom">
+            <el-badge :is-dot="$store.state.settings.isDot" class="item right-menu-item hover-effect">
+              <i class="el-icon-bell" @click="$message('鐐瑰嚮浜嗘垜鐨勬秷鎭紒');$store.state.settings.isDot=false" />
+            </el-badge>
+          </el-tooltip>
+
           <div style=" font-size: 18px;font-family: 'Microsoft YaHei';color:#AAAAAA;padding:0 8px;cursor: pointer">
             {{ stu_torgname }}
           </div>
@@ -228,6 +235,18 @@
     this.username = getCookie('username')
     this.stu_torgname = getCookie('stu_torgname') === '' ? '绯荤粺绠$悊鍛�' : getCookie('stu_torgname')
   },
+  mounted() {
+    this.$signalr.off('SendAll')
+    this.$signalr.on('SendAll', (res) => {
+      this.$notify({
+        offset: 80,
+        type: 'warning',
+        title: '娑堟伅鎻愰啋',
+        message: res
+      })
+      this.$store.state.settings.isDot = true
+    })
+  },
   computed: {
     ...mapGetters([
       'sidebar',
@@ -285,6 +304,7 @@
       this.$store.dispatch('app/toggleSideBar')
     },
     async logout() {
+      this.$signalr.off('SendAll')
       await this.$store.dispatch('user/logout')
       this.$message.success('閫�鍑烘垚鍔燂紒')
       this.$router.push(`/login`)
@@ -322,6 +342,12 @@
 }
 </script>
 <style lang="scss" scoped>
+::v-deep .el-badge__content {
+  position: absolute !important;
+  top: 12px !important;
+  right: 10px !important;
+}
+
 .display_btw {
   display: flex;
   justify-content: space-between;

--
Gitblit v1.9.3