From 08fcc710d0a2acb185b3477d72fe32aff6f2e29a Mon Sep 17 00:00:00 2001
From: chenyao <1219716595@qq.com>
Date: Mon, 01 Dec 2025 16:23:03 +0800
Subject: [PATCH] feat:增加ws连接状态

---
 src/hooks/useGlobalWS.js |   37 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 36 insertions(+), 1 deletions(-)

diff --git a/src/hooks/useGlobalWS.js b/src/hooks/useGlobalWS.js
index 450c29a..f2b9eff 100644
--- a/src/hooks/useGlobalWS.js
+++ b/src/hooks/useGlobalWS.js
@@ -1,21 +1,27 @@
 import {useUserStore} from "@/store/index.js";
 import {getEnvObj} from "@/utils/index.js";
 import {enterRoom} from "@/utils/voiceCallByTX/index.js";
+import useAppStore from "../store/modules/app/index.js";
 
 let socketTask = null
 
 export function useGlobalWS() {
 	const userStore = useUserStore();
+  const appStore = useAppStore();
+
 	const userId = computed(() => userStore?.userInfo?.user_id)
 	const access_token = computed(() => userStore?.userInfo?.access_token)
 	const {VITE_APP_WS_API_URL} = getEnvObj()
 
 	// 消息处理
 	function messageHandler(payload) {
+    console.log(payload.biz_code, '767')
 		switch (payload.biz_code) {
 			case 'JOB_ISREFRESH':
+        appStore.setJobUpdateKeyAdd()
 				break
 			case 'DEVICE_ISREFRESH':
+        appStore.setDeviceUpdateKeyAdd()
 				break
 			case 'DOWNLOAD_PROGRESS':
 				break
@@ -49,7 +55,7 @@
 		if (!access_token.value) return
 		const url = VITE_APP_WS_API_URL
 			+ `?x-auth-token=${encodeURI(access_token?.value)}`
-			+ `&model_type=3&workspace-id=${userId.value}`
+			+ `&model_type=3&workspace-id=3eb00efc-f81e-4f9e-a793-9281fc9ca9c2`
 		// 创建连接
 		socketTask = uni.connectSocket({
 			url: url,
@@ -64,7 +70,36 @@
 		socketTask.onMessage((result) => {
 			messageHandler(JSON.parse(result.data))
 		})
+    //==================================
+    // 监听连接打开
+    socketTask.onOpen((res) => {
+      console.log('✅ WebSocket连接已建立')
+      // reconnectAttempts = 0 // 连接成功后重置重连次数
+      // 可以在这里发送心跳或订阅消息
+      // startHeartbeat()
+    })
+    // 监听连接关闭
+    socketTask.onClose((res) => {
+      console.log(`WebSocket连接关闭,代码: ${res.code}, 原因: ${res.reason}`)
+
+      // 根据不同的关闭代码处理
+      if (res.code === 1000) { // 正常关闭
+        console.log('连接正常关闭')
+      } else if (res.code === 1006) { // 异常关闭
+        console.log('连接异常关闭,尝试重连...')
+      } else if (res.code === 1011) { // 服务器内部错误
+        console.log('服务器内部错误(1011),延迟重连...')
+      } else {
+        console.log('其他原因关闭,尝试重连...')
+      }
+    })
+
+    // 监听错误
+    socketTask.onError((err) => {
+      console.error('WebSocket发生错误:', err)
+    })
 	}
 
+
 	watch(access_token, initWS, {immediate: true})
 }

--
Gitblit v1.9.3