吉安感知网项目-前端
罗广辉
2026-02-27 163bf4d2264d935a5a324e1937a5d686903f7917
feat: 权限获取调整
2 files modified
25 ■■■■■ changed files
uniapps/work-app/src/hooks/useGlobalWS.js 16 ●●●●● patch | view | raw | blame | history
uniapps/work-app/src/subPackages/voiceCallDetail/index.vue 9 ●●●●● patch | view | raw | blame | history
uniapps/work-app/src/hooks/useGlobalWS.js
@@ -35,6 +35,7 @@
    // 消息处理
  function messageHandler(payload) {
    // 先尝试直接处理消息(适用于mobile-web-view的voiceCallDetail页面的消息格式)
    const t = (payload.type || '').toString()
    callStatus.value = t
@@ -42,7 +43,7 @@
    if (t === 'call') {
      console.log('📞 全局收到来电 call,来自', payload.from)
      // 触发震动
      triggerVibration();
      // triggerVibration();
      // 构建来电参数
      const callParams = {
        peerUid: payload.from,
@@ -57,13 +58,12 @@
      // #endif
      // 转义参数以便在URL中传递
      const encodedParams = encodeURIComponent(JSON.stringify(callParams));
      try {
        // 优先使用uni-app的导航API(适用于同应用内跳转)
        if (typeof uni !== 'undefined' && uni.navigateTo) {
          uni.navigateTo({
            url: `/subPackages/voiceCallDetail/index?voiceparams=${encodedParams}`,
          });
            uni.navigateTo({
              url: `/subPackages/voiceCallDetail/index?voiceparams=${encodedParams}`,
            });
        } else {
          console.error('无法跳转到语音通话页面:当前环境不支持导航');
        }
@@ -71,12 +71,6 @@
        console.error('跳转到语音通话页面失败:', error);
      }
      return
    }
    // 通话接听或结束时,取消来电通知
    if (t === 'accept' || t === 'reject' || t === 'hangup' || t === 'cancel') {
      // #ifdef APP-PLUS
      cancelIncomingCallNotification()
      // #endif
    }
  }
uniapps/work-app/src/subPackages/voiceCallDetail/index.vue
@@ -11,6 +11,8 @@
import { useUserStore } from "@/store/index.js"
import { getWebViewUrl } from "@/utils/index.js";
import { onLoad } from "@dcloudio/uni-app";
import {cancelIncomingCallNotification } from '@/uni_modules/lgh-dialog'
const userStore = useUserStore()
const userParams = userStore?.userInfo ? JSON.stringify(userStore.userInfo) : '{}'
const sWebViewRef = ref(null);
@@ -84,6 +86,13 @@
    }
}
// 监听离开
onUnload(() => {
    // #ifdef APP-PLUS
    cancelIncomingCallNotification()
    // #endif
})
</script>
<style lang="scss" scoped>