8.5 KiB
8.5 KiB
帮道 8 月 1 日 Android 内测 Go/No-Go
评估时间:2026-07-29 03:10(CST)
评估对象:2026-08-01 受控内部测试 APK,不代表正式发布、应用商店上架或阶段一严格试点验收。
冻结范围与完整门禁见《帮道 8 月 1 日 Android 安装包测试版任务计划》。
结论
当前为 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 |
| Android 统一取证 | 新增只读脚本并通过状态变更命令回归;实跑确认前台原生隐私弹窗标题与拒绝/同意按钮可见、登录不可见、四项敏感权限为 false、退出记录无 Crash/ANR,证据在忽略目录 output/aug1-rc/android-acceptance/ |
| 首次隐私弹窗 | 最新包已在虚拟机干净启动显示原生弹窗;前一候选包的两个 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 路由均存在;可重复 GET-only 探针覆盖 20 个 APK 入口,得到公开首页 1×200、鉴权入口 6×401、仅 POST 入口 13×405。answer-feedback 因同路径另有运营 GET 归入鉴权组;脚本排除短信验证码,不登录、不上传、不发送业务 POST |
| 定向发布预检 | 566f222e 已支持只核对后端 + schema;feece9bb 进一步允许以冻结提交和解压后的候选 JAR 为准。两次实际只读运行均跳过管理端/H5,根站、租户、移动首页和生产禁 DDL 门禁通过;后端 + schema 模式另通过 64/64 schema。冻结物模式确认本地 JAR SHA-256 为 8c676f2f…,最终均仅因现网/候选模块哈希 15f5513a… / c93460e8… 不同而按预期失败 |
| 后端发布/回滚计划 | release-backend.sh 固定生产 JAR 与 systemd 服务,默认只读,部署/回滚分别要求完整哈希授权串和干净工作区;备份、原子切换、发布后预检、失败恢复及并发改包保护均有回归。冻结 JAR 实跑只读计划通过:候选 8c676f2f…、现网 46c99cff…,服务 active、空间充足、三个公开入口和 64/64 schema 通过,全程未备份、上传、重启或改库 |
No-Go 阻断项
- 生产接口兼容,但候选后端语义修复未部署。 只读预检确认生产根站、租户接口、移动首页和 64/64 schema 门禁通过;线上与候选
ruoyi-aihr都有 819 个非目录/非 Manifest 条目,0 个增删、775 个逐字节相同、44 个不同。9 个关键控制器及其路由逐字节一致,差异只落在AihrModelSeedService、AihrPracticeSeedService、AihrSopSeedService及编译生成的内部类:候选包补了“不得冒充已创建/派发工单”的兜底文案,以及场景发布前的占位内容/五维评分门禁。因此现网可以承接 APK 的既有接口,但尚不满足本次候选的业务语义红线,仍需获得授权后定向发布后端。管理端和移动 H5 入口资源也与候选不一致,但不属于独立 APK 本轮必发单元;schema 本批不变。此次仅上线法务静态页,未发布后端、H5 业务资源或数据库迁移。 - 原生人工反例未完成。 覆盖升级和冷启动已通过,媒体取消状态机已自动化修复;仍缺用户亲自执行的同意/拒绝、拒绝后退出、同意后登录、短信失败与重新登录、麦克风允许/拒绝、真实系统选择器取消、登录后前后台切换和弱网验证。
- 核心业务真机闭环未完成。 仍缺认证账号下完整“查/练/问”、五个直通渠道、五个正式对练场景、ASR/TTS、附件上传下载和越权反例。
- 内容与业务验收不足。 当前仅收到 1/24 份生活顾问访谈。技术侧已把调研整理为 30 道政策题候选和 5 个场景候选,但全部保持待审/禁用,正式可发布场景和正式有据标准答案仍为 0/0;五渠道真实处理人也没有业务签认证据。
- 发布与回滚尚未签认。 固定目标、默认只读、显式授权、备份、原子切换、失败恢复和并发保护的后端工具已经落地,冻结候选的只读发布计划也已通过;但尚无负责人发布授权、实际发布后匹配结果或回滚演练记录。当前 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 | 获得明确授权后使用已通过只读计划的 release-backend.sh deploy,只发布上述 3 个服务类语义修复所在的候选后端 JAR;管理端/H5 延期,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 哈希、签认人、回滚点、最终结论 |
公司法务签认与企业签名可在负责人明确接受“仅限小范围受控内部测试”的前提下不阻断技术验收,但不能省略隐私选择、权限反例、版本冻结、生产依赖匹配和核心业务闭环。