绑定原生壳能力真实链路

桌面壳门禁拒绝声明能力落入 fallback-only 分支

根级原生壳门禁登记 H5 受控原生路由链路

项目文档同步宿主能力声明验收约定
This commit is contained in:
2026-06-20 16:23:55 +08:00
parent 6f12b48ce1
commit 3661ca69ee
4 changed files with 178 additions and 1 deletions
@@ -3057,3 +3057,10 @@
- 决策:新增 `apps/mobile-shell/src/host-bridge/runtime.test.ts`,直接覆盖 iOS runtime 的 `hostVersion``bridgeVersion`、能力清单和 `app.setBadgeCount`Android runtime 不声明 iOS 专属角标能力,以及 `host.getRuntime` HostBridge 成功响应形状;移动壳单端配置检查和根级原生壳门禁登记该测试文件并反查关键断言片段。该变更不新增 capability,不改变入口 query 或 H5 runtime 回读策略。
- 影响范围:`apps/mobile-shell/src/host-bridge/runtime.test.ts``apps/mobile-shell/scripts/check-config.mjs``scripts/check-native-shells.mjs`、宿主壳方案文档、宿主壳能力统一协议文档。
- 验证方式:`npm run mobile-shell:test -- src/host-bridge/runtime.test.ts``npm run mobile-shell:typecheck``npm run check:native-shells``npm run check:encoding``git diff --check`
## 2026-06-20 原生壳能力声明必须绑定真实链路
- 背景:桌面壳 capability profile 已声明一组 HostBridge request 能力,H5 平台入口也通过 `navigation.openNativePage` 打开 `/child-motion-demo` 这类受控内置玩法路由;如果门禁只检查“有 method case”或“文件被扫描”,未来可能退化成 fallback-only 分支或普通 Web 跳转而不被发现。
- 决策:桌面壳配置检查必须反查每个已声明 request capability 对应的真实模块委托,并拒绝由 `unsupported_method``unsupported_capability` 或 fallback-only case 支撑的声明能力;根级 `check:native-shells` 新增 H5 native app route flow 合约,锁定 `/child-motion-demo``navigateHostNativePage` 调用、浏览器 fallback、路由表和命名交互测试。
- 影响范围:`apps/desktop-shell/scripts/check-config.mjs``scripts/check-native-shells.mjs`、宿主壳能力统一协议文档。
- 验证方式:`npm run check:native-shells``npm run check:encoding``git diff --check`