文件
hyb-oa/.trellis/tasks/archive/2026-08/08-03-management-navigation-single-company-ux/implement.md
T

4.5 KiB
原始文件 Blame 文件历史

管理导航闭环与单公司体验收敛实施计划

1. 实施前门禁

  • 用户审查并明确批准 PRD、设计和本实施计划后,才运行 task.py start。
  • 运行 trellis-before-dev,读取 frontend、hyb-oa、项目治理和产品体验相关规约。
  • 实施前再次检查 frontend-design skill 是否可用;不可用时只复用现有视觉组件,不自行发明新样式。
  • 保护当前生产公司/银行资料;不连接生产、不写真实数据、不执行部署。

2. 共享管理路由

  • 建立管理路由注册表和最具体路径解析、父链、权限过滤函数。
  • 迁移 SystemSettingsPage 的入口列表到共享注册表。
  • 迁移 NavLinks 的管理选中判断并删除 MANAGEMENT_ACTIVE_PATHS。
  • 让 resolvePageMeta 从共享注册表解析管理标题,补齐当前遗漏页面和人员档案详情。
  • 让管理根入口权限从注册表派生,并让 resolver、面包屑和侧栏 active 接收当前权限;无权路径不披露受限元数据。
  • 收口最近访问写入/读取:写入前校验当前权限,读取时按当前权限过滤并覆盖权限撤销场景。
  • 增加注册表完整性、重复 key/path、父级循环、自然中文标题和权限字段测试。

3. Topbar 管理面包屑

  • 在 Topbar 命中管理子页时渲染 管理 / 当前页,管理首页不自指。
  • 覆盖 管理 / 人员 / 员工档案 等二级父链、可点击链接和 aria-current。
  • 验证直接深链、刷新、浏览器前进后退和窄屏换行,不依赖 location state。
  • 保持非管理页面 Topbar 行为与最近访问记录兼容。

4. 单公司体验

  • 把主数据中的「法体」用户文案改为「公司信息」,保留 API/类型/数据库命名。
  • 0/1/多条 active 公司信息分别渲染初始化、单公司维护和异常提示。
  • 企业银行账户页在 0 条时提供公司信息入口,1 条时自动关联并只读显示,多条时阻断保存。
  • 保持付款账户权限、完整账号输入、替换/停用、审计和通知调用不变。

5. 测试与检查

  • 增加共享 resolver、管理 landing、侧栏 active、Topbar breadcrumb 的聚焦测试。
  • 增加无权深链不显示受限面包屑,以及权限撤销后最近访问不返回旧标题/链接的测试。
  • 增加企业银行账户 0/1/多公司状态测试,断言无真实账号或 payload 进入证据。
  • 运行 cd client && npm run typecheck && npm run build。
  • 运行受影响前端测试及必要 Playwright 合成路径;不使用生产账号或真实银行资料。
  • 运行 git diff --check、敏感内容、Trellis governance、process/docs 门禁。

6. 文档、审查与提交

  • 在 docs/产品口径.md 以 R-6 固化单公司内部 OA 边界。
  • 若路由注册表形成稳定通用合同,用 trellis-update-spec 更新现有 frontend spec;不新建无必要文档。
  • 只读复核路由覆盖、权限可见性、面包屑父链和 0/1/多公司 fail-closed 行为。
  • 中文提交并引用 management-navigation-single-company-ux;不自动部署。
  • 另行批准生产部署后运行公网检查,只有通过后才通知用户线上验收。

7. 回滚点

  • 共享路由迁移必须先有 resolver 测试,再删除旧数组;任一入口丢失时恢复消费者,不修改服务端。
  • 单公司 UI 只改变展示与默认选择;若异常场景处理不符合预期,回滚前端即可,LegalEntity 和付款账户数据不变。

8. 本地实施与验证记录

  • 共享注册表已驱动管理首页、管理根权限、Router 权限、侧栏 active、Topbar 标题/面包屑和最近访问过滤。
  • 只读复核发现并修正 /people/:employeeId 缺少显式前端权限守卫的问题;服务端权限边界未改。
  • 企业银行账户页已覆盖零个、一个和异常多个启用公司状态;异常状态 fail-closed。
  • 聚焦 Playwright:8/8 通过;此前完整 PC 财务/管理回归:9/9 通过。
  • npm run typecheck、npm run build、路由清单门禁、Trellis validate/governance、process contract、docs audit、敏感内容和 git diff --check 均通过;docs audit 保留既有 22 个未登记文档警告,无错误。
  • 路由清单顺带补齐既有 /mobile/payment-batches 分类缺口,仅登记现有路由和现有测试,不改变产品行为。
  • 未部署、未连接生产、未写入真实公司或银行资料。