ZaiZai před 6 měsíci
rodič
revize
bb49d7b218
3 změnil soubory, kde provedl 18 přidání a 7 odebrání
  1. 1 1
      package.json
  2. 13 2
      src/layout/index.vue
  3. 4 4
      yarn.lock

+ 1 - 1
package.json

@@ -25,7 +25,7 @@
         "dayjs": "^1.11.13",
         "echarts": "^5.5.1",
         "element-plus": "^2.8.1",
-        "hc-vue3-ui": "^4.2.7",
+        "hc-vue3-ui": "^4.2.8",
         "js-base64": "^3.7.7",
         "js-cookie": "^3.0.5",
         "js-fast-way": "^0.5.6",

+ 13 - 2
src/layout/index.vue

@@ -97,6 +97,7 @@ const { isAppLoading } = useProject()
 onMounted(() => {
     const layout = useRoutes?.query?.layout, layout2 = store.isLayout
     isLayout.value = layout ?? layout2
+    annRefs.value = []
     initButtons()
 })
 
@@ -195,22 +196,25 @@ const cascaderSend = async ({ projectId, contractId }) => {
 }
 
 //长链接消息
+const annRefs = ref([])
 const socketData = async (res) => {
     console.log('socket:', res)
     const { type, data } = getObjValue(res)
     if (type === 'msgUpdateMsg') {
         //更新公告
-        await HcAnnouncement({
+        const ref = await HcAnnouncement({
             type: 'update',
             data: data,
             //time: 'xxx年xx月xx日 xx:xx:xx',
         })
+        annRefs.value.push(ref)
     } else if (type === 'msgSystemMsg') {
         //普通公告
-        await HcAnnouncement({
+        const ref = await HcAnnouncement({
             type: 'system',
             data: data,
         })
+        annRefs.value.push(ref)
     }
 }
 
@@ -234,6 +238,13 @@ const userProjectClick = () => {
 //页面卸载
 onUnmounted(() => {
     if (!isNullES(socket)) socket.close()
+    const refs = annRefs.value
+    for (let i = 0; i < refs.length; i++) {
+        if (!isNullES(refs[i])) {
+            refs[i]?.close()
+        }
+    }
+    annRefs.value = []
 })
 </script>
 

+ 4 - 4
yarn.lock

@@ -2053,10 +2053,10 @@ has-flag@^4.0.0:
   resolved "http://39.108.216.210:9000/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
   integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
 
-hc-vue3-ui@^4.2.7:
-  version "4.2.7"
-  resolved "http://39.108.216.210:9000/hc-vue3-ui/-/hc-vue3-ui-4.2.7.tgz#27225ef46d638fdf6aba3d5205c489c7ee322647"
-  integrity sha512-AD+w6j37FbLcVmbTHuaPmFFD/HvE67HvBg2v10ogsfdEeusmCcfUWgsuNyx9FBW0diOJOIV7MJBbRkdRgEeAkg==
+hc-vue3-ui@^4.2.8:
+  version "4.2.8"
+  resolved "http://39.108.216.210:9000/hc-vue3-ui/-/hc-vue3-ui-4.2.8.tgz#c103553e8d7a2f0444a0b048bb686ce1e015540e"
+  integrity sha512-S4VM5PFQQxEw/NCzLjZ2ki8FnrCepebs0mJc2/2PcrUP9cne356Zv/BjRLmkW39bmv7r1QhKcxmgiZe9m0n1PQ==
   dependencies:
     axios "^1.7.5"
     dayjs "^1.11.13"