ezhizao_zx 3 月之前
父节点
当前提交
dca435d8c6
共有 3 个文件被更改,包括 18 次插入7 次删除
  1. 8 2
      src/layout/components/Navbar.vue
  2. 1 1
      src/permission.js
  3. 9 4
      src/store/modules/message.js

+ 8 - 2
src/layout/components/Navbar.vue

@@ -73,12 +73,18 @@
         </el-table-column>
       </el-table>
     </el-dialog>
-    <el-dialog title="站内信" v-model="showMessageDialog" width="450" center @close="showMessageDialog = false">
+    <el-dialog title="站内信" v-model="showMessageDialog" width="650" center @close="showMessageDialog = false">
       <div class="page-container column-container">
         <el-table ref="dialogTable" :data="messageList" height="460px" row-key="id" align="center">
           <el-table-column label="行号" type="index" width="50" align="center" />
-          <el-table-column label="消息来源" prop="fromNickName" align="center" />
+          <el-table-column label="消息来源" prop="fromNickName" align="center" width="80" />
           <el-table-column label="消息内容" prop="message" align="center" show-overflow-tooltip />
+          <el-table-column label="状态" prop="msgRead" align="center" width="50">
+            <template #default="scope">
+              <el-tag v-if="scope.row.msgRead == 0" type="warning">未读</el-tag>
+              <el-tag v-else type="info">已读</el-tag>
+            </template>
+          </el-table-column>
           <el-table-column label="查看" width="120" align="center">
             <template #default="scope">
               <el-button type="success" icon="view" circle @click="handleView(scope.row)" />

+ 1 - 1
src/permission.js

@@ -43,7 +43,7 @@ router.beforeEach((to, from, next) => {
           // console.log(useUserStore().user.userId)
           if (useSettingsStore().showMessage) {
             useMessageStore().connection(useUserStore().user.userId, getToken())
-            useMessageStore().initWebsocket()
+            // useMessageStore().initWebsocket()
           }
         }).catch(err => {
           useUserStore().logOut().then(() => {

+ 9 - 4
src/store/modules/message.js

@@ -13,7 +13,9 @@ const useMessageStore = defineStore('message', {
     timerHeart: undefined,
     timerServerHeart: undefined,
     handClose: false,
-    messageCount: 0
+    messageCount: 0,
+    id: undefined,
+    token: token
   }),
   actions: {
     getMessageNum(message) {
@@ -35,12 +37,15 @@ const useMessageStore = defineStore('message', {
       // console.log(id, wsUrl, token)
       try {
         this.ws = new WebSocket(wsUrl + id, [token])
+        this.initWebsocket()
       } catch (e) {
         // console.log(e)
         this.reconnection(id, token)
       }
     },
     async connection(id, token) {
+      this.id = id
+      this.token = token
       // this.getMessageNum('1')
       // console.log(id, wsUrl, token)
       // console.log(window)
@@ -62,12 +67,12 @@ const useMessageStore = defineStore('message', {
       }
       this.ws.onerror = (e) => {
         console.log('链接失败')
-        this.reconnection()
+        this.reconnection(this.id, this.token)
       }
       this.ws.onclose = (e) => {
         console.log("关闭连接")
         if (!this.handClose) {
-          this.reconnection()
+          this.reconnection(this.id, this.token)
         }
       }
     },
@@ -83,7 +88,7 @@ const useMessageStore = defineStore('message', {
       }
       this.lockReconnect = true
       if (this.timerReconnect) {
-        this.clearTimer(timerReconnect)
+        this.clearTimer(this.timerReconnect)
       }
       //没连上会一直重连, 设置迟延,避免请求过多
       this.timerReconnect = setTimeout(() => {