http://localhost:6210/#/demo/kaBridge?channel=cmbc@dragonpass/ka-app-bridge@0.1.0,ESM5 产物| channel | loadMode | 执行器 / 桥 | 实际调用 | 结果 |
|---|---|---|---|---|
| cmbc channel 来自 URL |
eagerScript |
channelCMBCJSBridge |
CMBCJSBridge.closeWebView()真实加载 public/js/CMBCJSBridge.min.js |
invoked |
| qdbank setChannel('qdbank') |
window |
channelAlipayJSBridge |
AlipayJSBridge.call('closeTo', { index: -1 })桌面浏览器使用 mock 桥验证参数 |
invoked |
cmbc 使用 SDK 真实加载的 CMBCJSBridge.min.js,桌面 Chrome 下调用了 closeWebView 且未抛错;
qdbank 在桌面环境没有真实宿主桥,因此注入 mock,验证 SDK 选择的桥、方法名和参数完全正确。
14:23:26 refreshChannel -> cmbc / url
14:23:38 goBackWebview -> {
"status": "invoked",
"channel": "cmbc",
"channelSource": "url",
"source": "demo",
"executor": "channel",
"loadMode": "eagerScript",
"durationMs": 1
}
14:23:50 setChannel(qdbank) -> qdbank
14:23:57 goBackWebview -> {
"status": "invoked",
"channel": "qdbank",
"channelSource": "manual",
"source": "demo",
"executor": "channel",
"loadMode": "window",
"durationMs": 2
}
14:23:57 [mock alipay] call(closeTo, {"index":-1})
single-spa / eruda,与本次 SDK 无关./js/CMBCJSBridge.min.js,加载成功后未重复请求invoked,连续点击锁、宿主优先、渠道兜底已在单测和预检中覆盖。AlipayJSBridge.call('closeTo') 的实际关闭效果。closeWebView 是否真正退出容器,以及 Android / iOS 行为是否一致。ready -> gotoBack)和 quanZhouBank(Native.JavaScriptCall)真机用例。