4.5 KiB
4.5 KiB
管理导航闭环与单公司体验收敛实施计划
1. 实施前门禁
- 用户审查并明确批准 PRD、设计和本实施计划后,才运行
task.py start。 - 运行
trellis-before-dev,读取 frontend、hyb-oa、项目治理和产品体验相关规约。 - 实施前再次检查
frontend-designskill 是否可用;不可用时只复用现有视觉组件,不自行发明新样式。 - 保护当前生产公司/银行资料;不连接生产、不写真实数据、不执行部署。
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分类缺口,仅登记现有路由和现有测试,不改变产品行为。 - 未部署、未连接生产、未写入真实公司或银行资料。