# R105 真实试运行前自动化收口报告 日期:2026-05-07 ## 结论 R105 已完成真实试运行前 P0 自动化收口,并已部署到公网 `https://oa.hyinda.com`。 本轮完成: - 创建 R105 Issue CSV 合同并校验通过。 - 新增只读 smoke 数据审计脚本。 - 新增 R105 公网视觉自动化,覆盖移动登录、移动首页、移动票据上传、移动审批、我的/更多、PC Portal、报销和票据中心。 - 新增 `scripts/qa/run-pretrial-readiness.sh`,串联 static、live smoke、visual、OCR 四类门禁。 - 加强 UI 文案规则,禁止 `先处理` 和 `清爽` 等口语化或内部评价文案。 - 修正残留文案:侧边栏、导航说明、项目逾期指标。 - 新增真实企业微信手机最终落点检查模板。 - 部署到公网并完成公网验收。 仍需人工确认: - 用真实手机企业微信从工作台打开 OA 应用,确认已绑定账号直接进入 `/mobile`。操作模板见 `artifacts/r105-pretrial-readiness/wecom-mobile-final-check.md`。 ## 提交与发布 - 合同提交:`d99cbf8 R105/A1 建立试运行前自动化收口合同` - 实现提交:`86975dd R105/A2-A5 补强试运行自动化验收` - 验收发布 tag:`trialrun-20260507-02` - 最终同步 tag:`trialrun-20260507-04` - 远端目录:`118.89.77.218:/opt/hyb-oa-trialrun` ## 本地验证 已执行: ```bash python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-07_12-34-21-r105-pretrial-readiness-automation.csv node --check server/src/scripts/audit-smoke-data.js bash -n scripts/qa/run-pretrial-readiness.sh cd server && npm run prisma:validate node scripts/qa/check-ui-design-rules.mjs cd client && npm run typecheck cd client && npm run build bash scripts/qa/run-pretrial-readiness.sh --static ``` 结果: - CSV 校验通过。 - Prisma schema 校验通过。 - UI 设计规则:`0 findings`。 - 前端 typecheck 通过。 - 前端 build 通过;仍有既有 Vite circular chunk warning,本批不处理。 - R105 static 门禁通过。 ## 公网部署与配置 已执行: ```bash git tag -a trialrun-20260507-02 -m "trialrun release 20260507-02" bash deploy/trialrun/deploy.sh curl -fsS https://oa.hyinda.com/ready curl -fsS https://oa.hyinda.com/api/auth/wecom/config ``` 结果: - 公网 `/ready` 通过。 - 企业微信配置 `status=ready`。 - 企业微信默认入口仍为 `/api/auth/wecom/login?returnTo=%2Fmobile`。 - `defaultReturnTo=/mobile`。 - 远端 external deps smoke 通过。 - 远端 runtime smoke 通过。 - OCR provider 为 `tencent`。 R105 报告和 OCR 重复票据门禁收口后,又使用 `trialrun-20260507-04` 同步了一次最终仓库状态到远端目录。 ## 公网 live smoke 操作: - 临时重置独立 smoke 账号密码。 - 密码只保存在当前 shell,未打印、未写文件、未提交。 已执行: ```bash bash scripts/qa/run-pretrial-readiness.sh --live-smoke ``` 结果: - 公网基础探活与企微配置状态:通过。 - 管理员只读网页 smoke:通过。 - 员工只读网页 smoke:通过。 - 总计:`3 passed`。 ## R105 视觉自动化 已执行: ```bash bash scripts/qa/run-pretrial-readiness.sh --visual ``` 结果:`4 passed`。 覆盖: - 公网登录与企业微信入口默认移动工作台。 - 员工移动首页、票据上传和我的页面。 - 管理员移动审批页。 - PC Portal、报销和票据中心。 截图输出: - `output/playwright/r105/mobile-login-wecom-entry.png` - `output/playwright/r105/employee-mobile-home.png` - `output/playwright/r105/employee-mobile-capture.png` - `output/playwright/r105/employee-mobile-me.png` - `output/playwright/r105/admin-mobile-approvals.png` - `output/playwright/r105/desktop-portal.png` - `output/playwright/r105/desktop-reimbursements.png` - `output/playwright/r105/desktop-invoice-pool.png` ## 真实 OCR 辅助复核 已执行: ```bash PLAYWRIGHT_OCR_LIVE_FILE=/home/shunli/Projects/hyb-oa/artifacts/北京悦海堂餐饮管理有限公司_发票金额1683.00元.pdf \ bash scripts/qa/run-pretrial-readiness.sh --ocr ``` 结果:`1 passed`。 说明: - 本轮使用的是已多次用于 smoke 的同一张真实发票。 - 当前终态为清晰的重复票据风险,而不是 OCR 卡死或腾讯调用失败。 - R105 预试运行脚本显式允许 `duplicate` 作为可接受风险终态,避免反复上传同一 smoke 发票造成误报。 ## smoke 数据审计 已执行: ```bash ssh deploy@118.89.77.218 'cd /opt/hyb-oa-trialrun && ... npm run audit:smoke-data -- --format=text' ``` 结果: - smoke 员工账号:2 个,均 active。 - smoke 报销单:1。 - smoke 票据:5。 - OCR 关联结果:1。 - 票据状态:`available=2`,`ocr_failed=3`。 - 当前无 `pending_ocr` 卡住项。 结论: - smoke 数据不会阻断试运行,但已经有明显测试足迹。 - 后续如要清理,应先备份并单独开 destructive cleanup Issue;本轮只做只读审计。 ## 风险与后续 - 真实企业微信客户端最终落点仍需人工确认。 - smoke 账号已有测试票据、审计日志和 auth session 足迹;正式试运行前建议单独做一次 smoke 数据归档或清理。 - `npm ci` 构建阶段提示依赖漏洞,建议单独开安全依赖审计 Issue 评估,不在 R105 中顺手升级。 - Vite circular chunk warning 仍存在,建议在技术债专项中处理。