吉安感知网项目-前端
张含笑
2026-01-15 3c19d8e89a48137bdabee24e9bb1187e748618fc
uniapps/work-app/src/hooks/useGlobalWS.js
@@ -6,7 +6,7 @@
export function useGlobalWS() {
   const userStore = useUserStore();
  const appStore = useAppStore();
  // 设置默认用户ID为3
  const defaultUserId = '3';
  // WebSocket基础URL
@@ -30,20 +30,20 @@
        from: payload.from,
        type: 'incoming'
      };
      // 转义参数以便在URL中传递
      const encodedParams = encodeURIComponent(JSON.stringify(callParams));
      // 跳转到mobile-web-view应用中的语音通话页面
      const voiceCallUrl = `http://localhost:9527/work-app/#/subPackages/voiceCallDetail/index?params=${encodedParams}`;
      const voiceCallUrl = `http://localhost:9527/work-app/#/subPackages/voiceCallDetail/index?voiceparams=${encodedParams}`;
      console.log('🔗 准备导航到:', voiceCallUrl)
      try {
        // 优先使用uni-app的导航API(适用于uni-app环境)
        if (typeof uni !== 'undefined' && uni.navigateTo) {
          console.log('使用uni-app导航API跳转到语音通话页面');
          // 检查是否是跳转到应用内页面
          if (voiceCallUrl.includes('/subPackages/voiceCallDetail/')) {
            // 应用内页面跳转
@@ -62,7 +62,7 @@
            // 外部页面跳转
            fallbackToExternalNavigation();
          }
        }
        }
        // 否则尝试使用window.location跳转(适用于Web环境)
        else if (typeof window !== 'undefined' && window.location) {
          console.log('使用window.location跳转到语音通话页面');
@@ -75,7 +75,7 @@
        // 尝试使用外部跳转作为最后的补救措施
        fallbackToExternalNavigation();
      }
      // 外部页面跳转的回调函数
      function fallbackToExternalNavigation() {
        console.log('尝试使用外部导航跳转到语音通话页面');
@@ -98,7 +98,7 @@
                }
              }
            });
          }
          }
          // 或者使用plus.runtime.openURL(适用于App环境)
          else if (typeof plus !== 'undefined' && plus.runtime) {
            plus.runtime.openURL(voiceCallUrl);
@@ -145,16 +145,16 @@
      // 使用默认用户ID初始化WebSocket连接
      websocketService.init(defaultUserId, WS_BASE);
      console.log('🌐 全局WebSocket初始化成功,默认用户ID:', defaultUserId);
      // 设置全局消息处理回调
      websocketService.setOnMessageCallback(messageHandler);
      console.log('✅ 全局WebSocket消息处理器已设置');
    } catch (error) {
      console.error('❌ 全局WebSocket初始化失败:', error);
    }
  }
  // 监听用户信息变化,初始化WebSocket
  watch(
    () => userStore.userInfo,