| uniapps/work-app/src/hooks/useGlobalWS.js | ●●●●● patch | view | raw | blame | history | |
| uniapps/work-app/src/subPackages/voiceCallDetail/index.vue | ●●●●● 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,7 +58,6 @@ // #endif // 转义参数以便在URL中传递 const encodedParams = encodeURIComponent(JSON.stringify(callParams)); try { // 优先使用uni-app的导航API(适用于同应用内跳转) if (typeof uni !== 'undefined' && uni.navigateTo) { @@ -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>