电话咨询

This commit is contained in:
duoaohui
2026-06-04 12:23:14 +08:00
parent 6727259e8b
commit 3b51aba8ec
8 changed files with 172 additions and 48 deletions

View File

@@ -427,25 +427,43 @@ const buildMiniProgramReturnUrl = () => {
}
let endedRedirectTimer = null
let miniProgramRedirected = false
const getMiniProgram = () => {
return typeof window !== 'undefined' && window.wx && window.wx.miniProgram ? window.wx.miniProgram : null
}
const notifyMiniProgramCallEnded = () => {
const returnUrl = buildMiniProgramReturnUrl()
const payload = {
type: 'cloudLawCallEnded',
action: 'cloudLawCallEnded',
callId: callId.value,
consultId: consultId.value,
returnUrl: buildMiniProgramReturnUrl()
returnUrl
}
const miniProgram = getMiniProgram()
try {
const miniProgram = typeof window !== 'undefined' && window.wx && window.wx.miniProgram ? window.wx.miniProgram : null
// postMessage 只在 web-view 销毁/分享等时机投递;先发一份,作为小程序侧 onMessage 的兜底
if (miniProgram && typeof miniProgram.postMessage === 'function') {
miniProgram.postMessage({ data: payload })
}
if (miniProgram && typeof miniProgram.redirectTo === 'function' && payload.returnUrl) {
miniProgram.redirectTo({ url: payload.returnUrl })
} catch (e) {
console.warn('[CloudLawVideoCall] postMessage failed', e)
}
if (miniProgramRedirected) return
try {
if (miniProgram && returnUrl && typeof miniProgram.redirectTo === 'function') {
miniProgramRedirected = true
miniProgram.redirectTo({ url: returnUrl })
} else if (miniProgram && typeof miniProgram.navigateBack === 'function') {
// 没有可跳转的咨询详情地址时,至少退回上一页(等待页),由小程序侧轮询兜底跳转
miniProgramRedirected = true
miniProgram.navigateBack({ delta: 1 })
}
} catch (e) {
console.warn('[CloudLawVideoCall] notify mini program failed', e)
miniProgramRedirected = false
console.warn('[CloudLawVideoCall] redirect mini program failed', e)
}
}