吉安感知网项目-前端
张含笑
2026-01-15 3c19d8e89a48137bdabee24e9bb1187e748618fc
applications/mobile-web-view/src/appPages/voiceCallDetail/index.vue
@@ -62,17 +62,51 @@
// 解析URL参数
const parseUrlParams = () => {
   const url = new URL(window.location.href)
   const paramsStr = url.searchParams.get('params')
   if (paramsStr) {
   // 1. 优先从route.query.voiceparams获取参数
   if (route.query && route.query.voiceparams) {
      console.log('从route.query.voiceparams获取参数:', route.query.voiceparams);
      try {
         const params = JSON.parse(decodeURIComponent(paramsStr))
         // 解码并解析voiceparams参数
         const params = JSON.parse(decodeURIComponent(route.query.voiceparams));
         console.log('解析后的voiceparams:', params);
         if (params.peerUid) {
            peerUid.value = String(params.peerUid)
            log('🔗 从URL参数获取peerUid:', params.peerUid)
            peerUid.value = String(params.peerUid);
            log('🔗 从voiceparams获取peerUid:', params.peerUid);
         }
         // 如果是来电类型,直接触发来电状态
         if (params.type === 'incoming') {
            log('📞 voiceparams检测到来电,直接进入来电状态');
            incomingFrom = String(params.from);
            peerUid.value = incomingFrom;
            acceptedByMe = false;
            offeredByPeer = false;
            state.value = 'ringing';
            log('📞 收到来电 call,来自', incomingFrom);
            // 开始来电提示(铃声和震动)
            playRingtone();
            startVibration();
         }
      } catch (e) {
         log('❌ 解析URL参数失败:', String(e))
         log('❌ 解析voiceparams参数失败:', String(e));
      }
   }
   // 2. 同时保留原有的URL参数解析逻辑,作为备选
   const url = new URL(window.location.href);
   const paramsStr = url.searchParams.get('params');
   if (paramsStr) {
      try {
         const params = JSON.parse(decodeURIComponent(paramsStr));
         if (params.peerUid) {
            peerUid.value = String(params.peerUid);
            log('🔗 从URL参数获取peerUid:', params.peerUid);
         }
      } catch (e) {
         log('❌ 解析URL参数失败:', String(e));
      }
   }
}
@@ -600,6 +634,8 @@
}
onMounted(() => {
console.log('收拾收拾',route.query.voiceparams);
   const receiveParameters = route.query.contact
   console.log('接收参数', receiveParameters)