53 lines
7.1 KiB
Markdown
53 lines
7.1 KiB
Markdown
# 帮道 8 月 1 日 Android 内测 Go/No-Go
|
||
|
||
> 评估时间:2026-07-29 03:00(CST)
|
||
>
|
||
> 评估对象:2026-08-01 受控内部测试 APK,不代表正式发布、应用商店上架或阶段一严格试点验收。
|
||
>
|
||
> 冻结范围与完整门禁见[《帮道 8 月 1 日 Android 安装包测试版任务计划》](帮道8月1日Android安装包测试版任务计划-20260727.md)。
|
||
|
||
## 结论
|
||
|
||
**当前为 No-Go,暂不能把现有 APK 标记为 8 月 1 日可分发版本。**
|
||
|
||
安装包的技术出包链和干净提交自动化冻结已经成立,可继续作为验收候选包使用;阻断点集中在生产依赖、人工原生/业务验收和业务签认,而不是 HBuilderX 或 DCloud 打包本身。
|
||
|
||
## 已通过
|
||
|
||
| 检查项 | 当前结果 |
|
||
|---|---|
|
||
| 版本冻结 | 代码候选提交 `dc20b92061f10a356ed73eb105ef7b00c8b8a617`,工作区干净,统一 RC 证据 `releaseEligible=true`;该冻结提交相对 `origin/main` 领先 9 个提交,尚未推送 |
|
||
| 移动端自动化 | 198 项单元测试通过;TypeScript 类型检查通过;五个文件选择器和九个消费页面已覆盖用户取消/平台失败分流,直通车首次弱网加载失败可原位重试并失败关闭 |
|
||
| 构建 | `mobile-uni` H5、App-Plus、管理端生产构建通过;后端 `ruoyi-admin.jar` 重建通过 |
|
||
| P0 后端语义 | `AihrSopSeedServiceTest` 39 项、`AihrPracticeSeedServiceTest` 102 项通过;`ruoyi-aihr` 698 项全量测试通过,0 失败、0 错误 |
|
||
| 内容候选门禁 | 已生成 5 个禁用场景候选和 30 道待审政策题,机器校验通过;正式可发布场景 `0`、正式有据标准答案 `0`,不得导入或启用 |
|
||
| App 资源门禁 | 正式法务 URL、原生隐私配置、API 35、图标和启动图检查通过 |
|
||
| 独立 APK | `com.yincheng.wygj`,`0.1.10 (110)`,`targetSdkVersion=35`,v2 签名,明文 HTTP 关闭且网络安全资源已进入 APK;SHA-256 `20CB16B4E9D024DBF5EEEF577BFBA3B4DF5E5E78B597BABB99CB7450C7AE5034` |
|
||
| APK 内容门禁 | 包内业务资源等于当前 App-Plus 编译产物;法务链接、手机号、固定测试验证码、私钥和常见令牌扫描通过 |
|
||
| 真机安装启动 | vivo V2443A(Android 15)完成 `0.1.6` 覆盖安装和冷启动;相机、录音、媒体权限保持未授权,未见 `FATAL EXCEPTION` |
|
||
| 虚拟机安装与生命周期 | 本机 `Medium_Phone` Android 15/API 35 已完成历史卸载重装、同版本覆盖及冷/暖/热启动,并从 `0.1.9` 保留数据升级到 `0.1.10`;新包冷启动 `1.271s`,原生隐私弹窗与四项未授权状态保持,未见 FATAL/ANR |
|
||
| 首次隐私弹窗 | 最新包已在虚拟机干净启动显示原生弹窗;前一候选包的两个 HTTPS 链接已在 vivo 系统浏览器打开,仍需用户亲自执行拒绝/同意反例 |
|
||
| 法务静态页 | `https://peilian.njzhmj.top/legal/terms.html` 与 `https://peilian.njzhmj.top/legal/privacy.html` 已部署并可访问;发布前站点备份为 `/opt/wygj/backups/www-20260728224710` |
|
||
| 生产 API 只读契约 | 线上与候选包的 9 个关键控制器 class 哈希逐一相同,短信登录、移动首页、查/练/问、直通车和 ASR/TTS 路由均存在;未登录探针得到公开首页 `200`、5 个鉴权入口 `401`、13 个仅 POST 入口 `405`,全程未发送业务 POST、未创建账号或数据 |
|
||
|
||
## No-Go 阻断项
|
||
|
||
1. **生产接口兼容,但候选后端语义修复未部署。** 只读预检确认生产根站、租户接口、移动首页和 64/64 schema 门禁通过;线上与候选 `ruoyi-aihr` 都有 819 个非目录/非 Manifest 条目,0 个增删、775 个逐字节相同、44 个不同。9 个关键控制器及其路由逐字节一致,差异只落在 `AihrModelSeedService`、`AihrPracticeSeedService`、`AihrSopSeedService` 及编译生成的内部类:候选包补了“不得冒充已创建/派发工单”的兜底文案,以及场景发布前的占位内容/五维评分门禁。因此现网可以承接 APK 的既有接口,但尚不满足本次候选的业务语义红线,仍需获得授权后定向发布后端。管理端和移动 H5 入口资源也与候选不一致,但不属于独立 APK 本轮必发单元;schema 本批不变。此次仅上线法务静态页,未发布后端、H5 业务资源或数据库迁移。
|
||
2. **原生人工反例未完成。** 覆盖升级和冷启动已通过,媒体取消状态机已自动化修复;仍缺用户亲自执行的同意/拒绝、拒绝后退出、同意后登录、短信失败与重新登录、麦克风允许/拒绝、真实系统选择器取消、登录后前后台切换和弱网验证。
|
||
3. **核心业务真机闭环未完成。** 仍缺认证账号下完整“查/练/问”、五个直通渠道、五个正式对练场景、ASR/TTS、附件上传下载和越权反例。
|
||
4. **内容与业务验收不足。** 当前仅收到 1/24 份生活顾问访谈。技术侧已把调研整理为 30 道政策题候选和 5 个场景候选,但全部保持待审/禁用,正式可发布场景和正式有据标准答案仍为 0/0;五渠道真实处理人也没有业务签认证据。
|
||
5. **发布与回滚未签认。** 本地已有 APK/后端最小版本矩阵、构建证据和回滚边界,但尚无负责人签字、完整预检通过和回滚演练记录。当前 APK 已关闭明文流量但仍使用 DCloud 测试证书,只能用于受控内测;企业签名和公司法务正式签认仍是正式发布门槛。
|
||
|
||
## 转为 Go 的最短路径
|
||
|
||
| 顺序 | 必须完成 | 验收证据 |
|
||
|---|---|---|
|
||
| 已完成 | 确定 APK、后端、管理端/H5、数据库四个发布单元,提交并冻结 release commit | `dc20b920`、`releaseEligible=true`、`output/aug1-rc/0.1.10-110-dc20b920-frozen/`、`bangdao-aug1-0.1.10-110-dc20b920.zip`(SHA-256 `4BAA79B2CA2C4D486B6194288D90022D5F994A4D8C8E05D7C2DDD87F9BF5B3B7`) |
|
||
| 1 | 获得授权后只发布上述 3 个服务类语义修复所在的候选后端 JAR;管理端/H5 延期,schema 本批不变;先备份当前生产 JAR,发布后重跑后端 + schema 预检并执行无工单冒充反例 | 候选 JAR SHA-256 `8C676F2FBFCCB4F4573CBCA1259E8B26EB83EBDB469ADCBAF714C5931EF3CF2D`;生产 `ruoyi-aihr` 模块与候选匹配,64/64 schema 继续通过,兜底回答不显示已创建/已派发状态 |
|
||
| 2 | 用户在已连接 Android 手机上完成隐私选择和权限正反例 | 设备、包版本、步骤、结果;不记录手机号、验证码和个人内容 |
|
||
| 3 | 用正式测试账号完成“查/练/问”、五直通渠道及附件/语音闭环 | 每条用例的时间、结果、失败截图或日志 |
|
||
| 4 | 业务方审核当前 30 道题和 5 个场景候选,补齐正式来源并签认五渠道处理人 | 审核单、正式内容版本、授权矩阵;正式可发布计数从 0/0 提升到至少 5/30 |
|
||
| 5 | 7 月 31 日复跑安装、升级、回滚和完整 Go/No-Go | RC APK 哈希、签认人、回滚点、最终结论 |
|
||
|
||
公司法务签认与企业签名可在负责人明确接受“仅限小范围受控内部测试”的前提下不阻断技术验收,但不能省略隐私选择、权限反例、版本冻结、生产依赖匹配和核心业务闭环。
|