chenyao
2025-12-01 08fcc710d0a2acb185b3477d72fe32aff6f2e29a
feat:增加ws连接状态
1 files modified
33 ■■■■■ changed files
src/hooks/useGlobalWS.js 33 ●●●●● patch | view | raw | blame | history
src/hooks/useGlobalWS.js
@@ -15,7 +15,7 @@
    // 消息处理
    function messageHandler(payload) {
    console.log(payload, '767')
    console.log(payload.biz_code, '767')
        switch (payload.biz_code) {
            case 'JOB_ISREFRESH':
        appStore.setJobUpdateKeyAdd()
@@ -55,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,
@@ -70,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})
}