运营数据

This commit is contained in:
duoaohui
2026-06-06 12:16:27 +08:00
parent d6b8a0e1e1
commit a7e91a2cde

View File

@@ -162,7 +162,7 @@ import {
MEETING_ENDED_REASON_LABEL
} from '@/constants/meeting'
import VideoTile from '@/components/meeting/VideoTile.vue'
import { minimizeCloudLawMeeting } from '@/utils/cloudLawMiniProgram'
import { minimizeCloudLawMeeting, notifyCloudLawCallEnded, getMiniProgram } from '@/utils/cloudLawMiniProgram'
import {
notifyCloudLawBackendEnd,
notifyCloudLawParentCallEnded,
@@ -1018,10 +1018,6 @@ const hangup = async () => {
userInitiatedHangup.value = true
leaving.value = true
stopCommandPolling()
if (!isLawRole.value) {
// 优先触发小程序原生 /endweb-view 跨域直连云律 API 不可靠)
notifyNativeMiniProgramHangup()
}
try {
// 先通知云律后端结束本次通话:
// - 用户端:/api/applet/voiceConnection/{callId}/end
@@ -1055,14 +1051,18 @@ const hangup = async () => {
} finally {
ended.value = true
leaving.value = false
// 用户端:优先尝试跳转小程序咨询详情;失败则依赖小程序页轮询 /end 状态兜底
notifyMiniProgramCallEndedOnce()
if (!isLawRole.value) {
// 挂断流程完成后再通知小程序:避免提前 reload web-view 中断 endMeeting
notifyMiniProgramCallEndedOnce()
setTimeout(() => {
if (ended.value && !miniProgramRedirected) {
if (!miniProgramRedirected) {
goToConsultDetail()
}
}, 600)
// 跳转失败时再用 URL 桥接触发原生页 @load 兜底
if (!miniProgramRedirected) {
notifyNativeMiniProgramHangup()
}
}, 400)
}
}
}
@@ -1130,8 +1130,16 @@ onMounted(() => {
// 对方挂断或会议结束时,通知云律后端 + 父页面PC 律师浮窗)+ 小程序
notifyCloudLawEnd().finally(() => {
if (isLawRole.value) {
if (isCloudLawPcIframe()) {
notifyCloudLawParentCallEnded(callId.value)
if (isCloudLawPcIframe()) return
return
}
if (getMiniProgram()) {
notifyCloudLawCallEnded(callId.value)
return
}
notifyCloudLawParentCallEnded(callId.value)
return
}
notifyMiniProgramCallEndedOnce()
scheduleEndedRedirect()