Browse Source

消息的bug修复

刘洋 1 year ago
parent
commit
6c8355bf36
2 changed files with 35 additions and 22 deletions
  1. 2 2
      server.config.ts
  2. 33 20
      src/components/shared/message/Message.vue

+ 2 - 2
server.config.ts

@@ -3,11 +3,11 @@ import type { ServerOptions } from 'vite'
 const server: ServerOptions = {
   proxy: {
     '^/?(api|file)/': {
-      // target: 'http://192.168.10.41:8200',
+      target: 'http://192.168.10.41:8200',
       // target: 'http://192.168.10.178:8200',
       // target: 'http://192.168.10.108:8200',
       // target: 'http://cet-test.markingtool.cn',
-      target: 'http://192.168.10.136:80',
+      // target: 'http://192.168.10.136:80',
       // target: 'http://cet-dev.markingtool.cn:8200',
     },
   },

+ 33 - 20
src/components/shared/message/Message.vue

@@ -86,35 +86,48 @@ watch(
         return
       }
 
-      let newMsgTime = Math.max.apply(
+      // let newMsgTime = Math.max.apply(
+      //   Math,
+      //   newMsgs.map((item: any) => {
+      //     return new Date(item.sendTime).getTime()
+      //   })
+      // )
+      let newMsgMaxId = Math.max.apply(
         Math,
-        newMsgs.map((item: any) => {
-          return new Date(item.sendTime).getTime()
-        })
+        newMsgs.map((item: any) => item.id)
       )
-      // let hasRecentSixSecondsMsg = new Date(newMsgs[0].sendTime).getTime() > Date.now() - 6000
-      let hasRecentSixSecondsMsg = newMsgTime > Date.now() - 10000
-      if (!lastMsgs.messages.length && hasRecentSixSecondsMsg) {
-        messageWindowType.value = 'view'
-        visibleMessageWindow.value = true
-        return
+      // let hasRecentSixSecondsMsg = newMsgTime > Date.now() - 10000;
+      let lastNewMsgMaxId = Number(sessionStorage.getItem('lastNewMsgMaxId'))
+      if (lastNewMsgMaxId) {
+        if (newMsgMaxId > lastNewMsgMaxId) {
+          messageWindowType.value = 'view'
+          visibleMessageWindow.value = true
+          sessionStorage.setItem('lastNewMsgMaxId', String(newMsgMaxId))
+        }
+      } else {
+        sessionStorage.setItem('lastNewMsgMaxId', String(newMsgMaxId))
       }
-      let recentMsgTime = Math.max.apply(
-        Math,
-        lastMsgs.messages.map((item) => {
-          return new Date(item.sendTime).getTime()
-        })
-      )
+      // if (!lastMsgs.messages.length && hasRecentSixSecondsMsg) {
+      //   messageWindowType.value = 'view'
+      //   visibleMessageWindow.value = true
+      //   return
+      // }
+      // let recentMsgTime = Math.max.apply(
+      //   Math,
+      //   lastMsgs.messages.map((item) => {
+      //     return new Date(item.sendTime).getTime()
+      //   })
+      // )
       // let newMsgTime = Math.max.apply(
       //   Math,
       //   newMsgs.map((item: any) => {
       //     return new Date(item.sendTime).getTime()
       //   })
       // )
-      if (newMsgTime > recentMsgTime && hasRecentSixSecondsMsg) {
-        messageWindowType.value = 'view'
-        visibleMessageWindow.value = true
-      }
+      // if (newMsgTime > recentMsgTime && hasRecentSixSecondsMsg) {
+      //   messageWindowType.value = 'view'
+      //   visibleMessageWindow.value = true
+      // }
     }
   }
 )