docs(08-05-product-interaction-consistency): 固化交互治理任务规划与规范

这个提交包含在:
2026-08-07 06:50:10 +08:00
父节点 254ba2dbd1
当前提交 d4e9597b37
共修改 30 个文件,包含 1129 行新增和 23 行删除
@@ -0,0 +1,62 @@
# 实施计划
## 1. 共享错误入口
- [x] 修改 `resolveErrorMessage` 默认去除 code,并为确需技术 code 的管理/审计场景提供显式分离能力。
- [x] 迁移当前 58 个文件中的普通用户消息拼接,保留 API code 作为控制流判断而非展示文本。
- [x] 增加源码/组件回归,覆盖 Portal、审批、报销、移动页和管理例外边界。
## 2. 状态与命名
- [x] `StatusBadge` 未知值显示“未知状态”;员工在职阶段显式映射中文。
- [x] `TodosPage` 状态选项/徽章中文化。
- [x] 将用户可见的审批任务、个人事项和聚合面板收敛为“待我审批 / 我的事项 / 今日待处理”,同步 PC/移动导航和测试断言。
## 3. 首页与 WelcomeDialog
- [x] 调整 PC 工作台内容顺序,今日待处理先于常用入口。
- [x] WelcomeDialog 接收权限过滤后的入口,无审批权限时不显示审批入口。
- [x] 删除移动考勤说明卡;财务 tile 只保留真实指标。
## 4. 审批与反馈
- [x] 为退回/驳回补后果说明,核对服务端动作语义不变。
- [x] 转审理由显示至少 10 字要求和禁用原因。
- [x] 费用控制改为业务后果表达。
- [x] 本任务触及的字段错误、区域失败和提交失败按设计放置,输入与恢复入口不丢失。
## 5. 移动动作与差旅缺陷
- [x] 抽取共享移动底部动作容器并迁移移动报销、移动审批与 `BusinessEditTemplate`;统一安全区、内容留白和 pending/disabled 表达。
- [x] 已评估付款响应式页;其动作条仍含付款批次专用响应式结构,本轮按设计保留为已记录例外,不强行迁移。
- [x] 删除差旅自动选中第一条的 effect,保留显式 `?id=` 详情。
## 6. 可访问性与测试
- [x] 为本任务触及的表单补关联 label、键盘/焦点断言和邻近错误。
- [x] 更新 `login-portal-ux.spec.ts`、`workflow-action-confirm-ui.spec.ts` 等既有断言,并新增 `interaction-pattern-unification.spec.ts` 覆盖共享错误、移动动作、状态、WelcomeDialog、工作台恢复和差旅缺陷合同。
- [x] 运行 `cd client && npm run typecheck`。
- [x] 运行 `cd client && npm run build`。
- [x] 运行无浏览器源码合同 Playwright:`interaction-pattern-unification.spec.ts` 共 6 项通过。
- [ ] 运行需要 Chromium 的聚焦浏览器回归:当前环境默认浏览器缺失,系统 Chromium 又因沙箱权限 `Operation not permitted` 无法启动,记为 `PAUSED`,不得宣称浏览器用例通过。
- [x] 运行普通错误消息 code 前缀扫描,并人工核对 `AuditLogsPage` 为唯一技术明细例外。
- [x] 运行 task validate、process contract、docs registry、Trellis governance 和 `git diff --check`;规范/事实源更新后最终复跑通过。
## 7. 提交与回滚
- [x] 提交前确认没有业务 URL、后端 API、schema、权限模型或真实数据变化;导航改动仅为已批准的入口文案与现有权限能力过滤。
- [x] 使用中文 commit message 并引用 `08-05-interaction-pattern-unification`。
- [x] 共享工具回滚时同步回滚消费者;移动审批、移动报销与 `BusinessEditTemplate` 不混用新旧容器,付款页旧实现按已记录例外保留。
## 8. 当前验证记录
- `cd client && npm run typecheck`:通过。
- `cd client && npm run build`:通过。
- `npx playwright test tests/e2e/interaction-pattern-unification.spec.ts --workers=1 --reporter=list`:6 passed。
- `npx playwright test --list`:可发现 61 个文件、222 个测试。
- `python3 ./.trellis/scripts/task.py validate 08-05-interaction-pattern-unification`:通过。
- `node scripts/qa/check-process-contract.mjs --baseline --json`:`PASS`,0 errors / 0 warnings。
- `node scripts/qa/check-trellis-governance.mjs`:`PASS`,0 errors / 0 warnings。
- `node scripts/qa/audit-docs.mjs --check-registry`:0 errors;保留既有 22 个未登记文档 warning。
- `git diff --check`:通过。
- 需要真实 Chromium 的聚焦页面回归:`PAUSED`。阻塞来自当前执行环境的浏览器安装/沙箱权限,不作为产品用例失败,也不替代后续可运行环境中的浏览器验证。