父 Story:#7 (M1 入口级交付 · webui)。WP2。使能刀 (blocks 各页面刀)。红线:示例数据脱敏占位。
⛔ 动手前必读 · nav taxonomy 待主仓冻结(契约级 · 主仓 owns)
导航 taxonomy 是跨仓共享物 (prototype + console + PRD)= 契约级,主仓 owns ,子仓不自行发明(自创=必返工,违 M1「骨架不可返工」)。本 issue blocked-before-coding :动手前必须拿到主仓冻结源(二选一,主仓拍板):① 主仓 docs/.../M1-nav-taxonomy.md 冻结后本 issue 改指向;或 ② 把下方树内联为本 issue 自含源。下树为从主仓 prototype submodule prototype/components/sidebar.tsx 抽取的 canonical(已坐实) ,仅作冻结基线,最终以主仓冻结源为准。
目标
console 侧栏呈现 canonical 一级模块 L1/L2 导航,每叶子可达、渲染带标题占位页;i18n typed keys 全量补齐。此刀铺好骨架后,各页面刀只把占位换成真页——任意时刻菜单不断链、CI 绿。
Canonical 导航树(L1=11 · M1 取 L1/L2,L3/L4 显式后置 )
修正前序偏差:canonical L1 共 11 (非「九/10」);组织管理为独立 L1 (非折叠进管理中心);canonical 深至 L4,M1 仅做 L1/L2。
概览 (叶子 → /)
管理中心 :数据源管理 · 基础配置〔标签管理/逻辑类型映射/告警设置 = L3 后置〕
数据集成 :离线集成 · 实时集成
数据架构 :数仓设计 · 数据标准 · 数据建模 · 汇总宽表设计器 · 应用集市表设计器 · 数据指标〔L3/L4 后置:模型设计>维度建模>事实表设计器…〕
数据开发 :数据开发 · 周期任务 · 临时查询 · 运维监控
数据质量 :质量监控大盘 · 质量规则管理
数据目录 :数据地图 · 血缘与影响分析 · 元模型建模中心 · 元数据采集中心
数据安全 :分类分级 · 数据脱敏 · 数据水印 · 统一数据权限 · 分级分类策略
数据服务 :API 开发中心
隐私计算 :隐私计算概览 · 安全求交(PSI) · 匿踪查询 · 节点互联
组织管理 (独立 L1,租户自治):成员管理 · 角色与权限 · 用户组(→ /settings/{users,roles,user-groups},角色门控见 WP4a · 管理中心·组织管理(成员/角色/用户组,角色门控) #14 )
范围(文件清单)
apps/console/src/routes/navConfig.tsx:NavItem 加 children(L2);用 canonical L1(11)/L2 树替换现 5 个 demo 项。
apps/console/src/layout/AppLayout.tsx:route 映射支持嵌套子菜单渲染。
apps/console/src/app/router.tsx:每路由接共享 <ModulePlaceholder>(或复用已有 demo 页)。
新增共享 ModulePlaceholder(带标题占位)+ Storybook story。
apps/console/src/i18n/locales/{zh-CN,en-US}.ts:menu.* 全量(typed ParseKeys 静态校验)。
起点(精确路径 · 真/stub/缺失)
navConfig / router / AppLayout 真实存在 (现 5 个 demo 项:playground/lineage/orchestration/dashboard/governance)。
canonical 源 = 主仓 prototype submodule prototype/components/sidebar.tsx(在 webui 仓外、不可直接 import ——故需主仓冻结为可消费契约;上方树已从该源抽取)。
预估 LOC
~240(L1×11 + L2 子集 + 嵌套菜单渲染)
测试 / DoD
占位页 story;菜单渲染 11 个 L1、零断链;i18n 双语解析无漏 key。
lint / vitest / storybook-playwright / build 绿。
依赖
验收
⛔ 动手前必读 · nav taxonomy 待主仓冻结(契约级 · 主仓 owns)
导航 taxonomy 是跨仓共享物(prototype + console + PRD)= 契约级,主仓 owns,子仓不自行发明(自创=必返工,违 M1「骨架不可返工」)。本 issue blocked-before-coding:动手前必须拿到主仓冻结源(二选一,主仓拍板):① 主仓
docs/.../M1-nav-taxonomy.md冻结后本 issue 改指向;或 ② 把下方树内联为本 issue 自含源。下树为从主仓 prototype submoduleprototype/components/sidebar.tsx抽取的 canonical(已坐实),仅作冻结基线,最终以主仓冻结源为准。目标
console 侧栏呈现 canonical 一级模块 L1/L2 导航,每叶子可达、渲染带标题占位页;i18n typed keys 全量补齐。此刀铺好骨架后,各页面刀只把占位换成真页——任意时刻菜单不断链、CI 绿。
Canonical 导航树(L1=11 · M1 取 L1/L2,L3/L4 显式后置)
/)/settings/{users,roles,user-groups},角色门控见 WP4a · 管理中心·组织管理(成员/角色/用户组,角色门控) #14)范围(文件清单)
apps/console/src/routes/navConfig.tsx:NavItem加children(L2);用 canonical L1(11)/L2 树替换现 5 个 demo 项。apps/console/src/layout/AppLayout.tsx:route 映射支持嵌套子菜单渲染。apps/console/src/app/router.tsx:每路由接共享<ModulePlaceholder>(或复用已有 demo 页)。ModulePlaceholder(带标题占位)+ Storybook story。apps/console/src/i18n/locales/{zh-CN,en-US}.ts:menu.*全量(typedParseKeys静态校验)。起点(精确路径 · 真/stub/缺失)
prototype/components/sidebar.tsx(在 webui 仓外、不可直接 import——故需主仓冻结为可消费契约;上方树已从该源抽取)。预估 LOC
~240(L1×11 + L2 子集 + 嵌套菜单渲染)
测试 / DoD
依赖
验收
menu.*typed keys 双语完整;CI 绿;无断链路由。