- 01_WBS:M1 ☑ 完成(8 任务全 ☑,V1 通过、桥核心覆盖 87.3%) - 03_风险登记册:R-18 关闭(探明 hvigorw 本地单测命令,封装 scripts/test.sh) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5.2 KiB
5.2 KiB
03 · 风险登记册
概率/影响:高/中/低。状态:开放/缓解中/关闭。受阻任务(
⚠)须在此登记。
1. 技术风险(最高优先)
| ID | 风险 | 概率 | 影响 | 触发信号 | 缓解 / 应对 | 负责人 |
|---|---|---|---|---|---|---|
| R-01 | yy:// 自定义 scheme 的 iframe 导航不被 onLoadIntercept 捕获(桥不通) |
中 | 高(阻断全局) | T-M1-07 验证失败 | 前置到 M1 最先验证;回退:onInterceptRequest+WebSchemeHandler 注册 yy scheme;或改桥 JS 走 javaScriptProxy.postMessage(对 H5 透明)。三方案均零改 H5 |
桥/技术负责人 |
| R-02 | file:// 页面跨域受限,H5 的 XHR/fetch 取本地资源失败 |
中 | 高(大厅/子游戏白屏) | T-M2-08 验证失败 | 前置到 M2;回退:自定义协议/onInterceptRequest 接管本地资源(框架 §7.3)。必要时把首页改用自定义 scheme 加载 |
台/桥 |
| R-03 | MessageCodec 转义与 lzyzsd 不一致,含特殊字符的 data 解析错位 |
中 | 中 | 含引号/反斜杠/中文的分享文案、JSON data 解析异常 | 单测以 Android 端样例做字节级对照;复用库 JS 原文件 | 桥 |
| R-04 | 线程问题:能力回调在非 UI 线程调 runJavaScript 崩溃/丢消息 |
中 | 高 | 定位/支付/传感器回调偶发崩溃 | 强制 UI 线程守卫(框架 §5.5);能力回传统一经桥(emitter/UIContext) | 桥 |
| R-05 | TaskPool Sendable 约束导致下载/解压回调传参编译/运行失败 | 中 | 中 | @Concurrent 报 Sendable 错 |
仅传 Sendable + emitter 回传(§9.1);路径在 UI 线程取好传字符串 | 台 |
| R-06 | 远程配置二级 url/分层覆盖逻辑与 Android 不一致,选错下载地址/版本 |
中 | 中 | 资源版本判断错误、下错包 | VersionResolver 纯函数 + 多层样例单测,对照《契约规范》§4.4 |
台 |
| R-07 | Web 保活(NodeController/BuilderNode)生命周期/内存复杂,切换异常或泄漏 | 中 | 中 | 切换白屏/内存涨 | M5 才上;先用 loadUrl 切换保底;保活作为优化项可回退 |
桥 |
| R-08 | app_data.js 注入时序错误(加载后才写),H5 读不到配置 |
低 | 高 | 大厅读 app_* 为 undefined |
铁律:INJECT_APP_DATA 早于进入容器(框架 §7.1/§8.4);测试覆盖 |
台 |
2. 第三方 SDK / 平台风险
| ID | 风险 | 概率 | 影响 | 缓解 / 应对 | 负责人 |
|---|---|---|---|---|---|
| R-09 | 微信/分享/定位等厂商 HarmonyOS SDK 缺失或能力不全 | 中 | 中 | 早期做 SDK 可用性盘点;缺失则系统能力替代(如系统分享/系统定位)或服务端代理;登录/支付走 code/服务端 | 能 |
| R-10 | 声网/支付 SDK 集成成本高 | 中 | 低(本期桩规避) | 本期占位桩,M6 按需集成;不阻塞主线 | 能 |
| R-11 | 高德等定位 SDK 隐私合规未先行,定位失败/审核不过 | 中 | 中 | 使用前 updatePrivacyShow/Agree;权限用时申请 + 文案;优先系统定位 |
能 |
| R-12 | 本机 HTTP 上传服务(截图)实现复杂(无内置 server) | 中 | 低 | @ohos.net.socket 自建轻量服务或 NAPI;截图分享非核心可后置 |
台 |
| R-13 | ArkWeb 版本差异导致 API 行为变化 | 低 | 中 | 锁定目标 API 版本;编码前 devecocli docs 核对签名;CI 固定 SDK |
桥 |
3. 工程 / 进度风险
| ID | 风险 | 概率 | 影响 | 缓解 / 应对 | 负责人 |
|---|---|---|---|---|---|
| R-14 | 团队 ArkTS/ArkUI 经验不足,前期效率低 | 中 | 中 | M0/M1 配对开发;沉淀附录 A 适配清单;统一脚手架样板 | 技术负责人 |
| R-15 | 契约理解偏差导致 handler 行为不符,后期返工 | 中 | 中 | contracts HAR 固化为 SSOT;契约探针 H5 每周回归;评审对照 |
Q |
| R-16 | 能力并行开发接口/风格不统一 | 低 | 低 | CapabilityProvider 统一接口 + Provider 样板;代码评审 |
桥 |
| R-17 | 真机/设备不足影响联调与回归 | 低 | 中 | 早期备真机 + 模拟器;CI 夜间冒烟 | PM |
| R-18 | 单测运行工具链缺口:devecocli 无 test 子命令 |
中 | 中 | 已关闭:用 DevEco hvigorw test --mode module -p module=entry@default -p buildMode=test -p coverage=true(需 DEVECO_SDK_HOME 指向 DevEco 自带 sdk)跑本地单测,封装为 scripts/test.sh 并集成 ci.sh |
桥/技术负责人 |
4. 受阻任务记录(动态更新)
| 日期 | 受阻任务 | 关联风险 | 描述 | 处置 | 状态 |
|---|---|---|---|---|---|
| 2026-06-25 | T-M1-08 桥引擎单测 | R-18 | 13 用例代码已就位,但 devecocli 无 test 命令、本地单测 hvigor task 未常规暴露,无法 CLI 跑覆盖率 | 用户授权 hvigorw 例外;探明本地单测命令并封装 scripts/test.sh,15 用例全通过、桥核心覆盖 87.3% | 已关闭 |
5. 风险闸门(与里程碑绑定)
- M1 闸门:R-01 必须收敛(V1 通过或回退方案落地)方可进入 M2。
- M2 闸门:R-02 必须收敛(V2 通过或回退方案落地)方可大规模铺 M3 能力。
- M5 闸门:R-04/R-07 收敛 + 安全清单(框架附录 B)通过方可发布。