From e697354ce97a3e94bc4644d955a758c1abf1b527 Mon Sep 17 00:00:00 2001 From: duoaohui <928970622@qq.com> Date: Sat, 6 Jun 2026 13:27:31 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=90=E8=90=A5=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/pages/cloud-law/video-call.vue | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/frontend/src/pages/cloud-law/video-call.vue b/frontend/src/pages/cloud-law/video-call.vue index 35117bf..3e5a052 100644 --- a/frontend/src/pages/cloud-law/video-call.vue +++ b/frontend/src/pages/cloud-law/video-call.vue @@ -166,7 +166,8 @@ import { minimizeCloudLawMeeting } from '@/utils/cloudLawMiniProgram' import { notifyCloudLawBackendEnd, notifyCloudLawParentCallEnded, - isCloudLawPcIframe + isCloudLawPcIframe, + notifyNativeMiniProgramHangup } from '@/utils/cloudLawVoiceCall' import bgImage from '@/static/bg.png' import hangupIcon from '@/static/cacel.png' @@ -1050,14 +1051,17 @@ const hangup = async () => { } finally { ended.value = true leaving.value = false - // 用户端:优先尝试跳转小程序咨询详情;失败则依赖小程序页轮询 /end 状态兜底 - notifyMiniProgramCallEndedOnce() - if (!isLawRole.value) { + if (isLawRole.value) { + notifyMiniProgramCallEndedOnce() + } else { + // 用户端跳转咨询详情:postMessage 仅作辅助。 + // 房间已 endMeeting 同源结束,这里用 URL 桥接(cloudLawHangup=1)触发原生页 onWebViewLoad, + // 由原生页用 uni.reLaunch 跳转——web-view JSSDK 的 reLaunch 无成功回调,当前微信环境会 + // navigateTo:fail timeout 静默失败却误标记已跳转,导致停不到咨询详情,故不依赖它。 + notifyMiniProgramCallEndedOnce() setTimeout(() => { - if (ended.value && !miniProgramRedirected) { - goToConsultDetail() - } - }, 600) + notifyNativeMiniProgramHangup() + }, 300) } } }