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