M1 自拆解简报 · webui
粗粒度里程碑简报。只读本简报 + 本仓代码即可自拆子任务并自验收,无需问人。
上位总纲:主仓 docs/milestones/M1-单命名空间端到端贯通.md。
0. 一句话目标
console 以 emerald 默认品牌起,侧栏呈现九大 PRD 模块 L1/L2、每模块有 demoable 入口页、「组织管理」按角色门控、顶栏有租户切换占位——可整体演示。
1. 起点 · 代码现状(基础设施已"真实且测过",勿重建)
- 栈:React19 + Vite + AntD v6(
pnpm-workspace.yaml 锁 antd ^6.4.4)+ AntV(packages/ui/src/canvas/* 真实包装)。monorepo:apps/console + apps/admin + packages/{ui,brand,theme,i18n,sdk}。
- 白标(已实现,D3 部署级):
packages/brand/src/brand.default.json(现 colorPrimary #1668dc)→ 四路扇出(AntD ConfigProvider / CSS Vars / i18n / favicon);部署注入 deploy/console/config.js.template + 30-render-config.sh(envsubst ${BRAND_COLOR_PRIMARY} 等)。BrandSwitch 仅 demo。
- 导航现状:
apps/console/src/routes/navConfig.tsx 仅 5 个 demo 项(playground/lineage/orchestration/dashboard/governance),不匹配九大模块。九模块导航源 = prototype/components/sidebar.tsx。
- i18n:typed keys(
ParseKeys 静态校验);CI .github/workflows/ci.yml(lint+vitest+storybook+playwright+build)。dev console 5173 / admin 5174。
2. 范围边界
- ✅ M1:emerald 默认品牌;九模块 L1/L2 导航 + i18n;每模块入口页;组织管理角色门控;租户切换占位 +
GET /me/tenants。
- ⛔ 不做:全 design-token 深度白标、字段/行级前端权限、微前端、前端可观测、admin 平面全量。
3. 工作项 & 拆分指引
WP1 默认品牌改 emerald(D4)
- 改
packages/brand/src/brand.default.json colorPrimary→#059669、colorSecondary→#10b981、appName "HashMatrix";deploy/console/30-render-config.sh 默认值同步。机制不动(已测)。
- 验收:console 主色变绿,
config.js 注入仍可覆盖。
WP2 九模块 L1/L2 导航 + i18n
navConfig.tsx 用 prototype/components/sidebar.tsx 的结构替换 5 个 demo 项(管理中心/数据集成/数据架构/数据开发/数据质量/数据目录/数据安全/数据服务/隐私计算 + 概览);apps/console/src/i18n/locales/{zh-CN,en-US}.ts 补 menu.*(typed)。
WP3 每模块 demoable 入口页
- 每模块加
src/modules/<m>/<M>Page.tsx + lazy route;复用 prototype 观感(AntD/ProComponents 等价);血缘/大屏/编排复用 packages/ui/src/canvas/*。可拆为「每模块一个子任务」分人。
WP4 组织管理 + 租户切换
- 「组织管理」区段(成员/角色/用户组)镜像 prototype
app/settings/{users,roles,user-groups},按 Keycloak 角色(JWT X-Roles)门控;顶栏租户切换组件占位,调 control-plane GET /me/tenants(D1/D2:先 1 个、结构按多租户)。
WP5 CI 绿
- 新页补 Storybook stories(满足 storybook-playwright 门);lint/vitest/build 绿。
4. 关键参考
- 导航源:
prototype/components/sidebar.tsx;组织管理源:prototype/app/settings/{users,roles,user-groups}/page.tsx。
- 白标:
services/webui/CLAUDE.md、docs/00-前端初始化-spec.md、packages/brand/*、deploy/console/*。
- PRD:
prototype/docs/{00..09}。决策:总纲 D3/D4。
5. 依赖 & 约束
- 依赖:control-plane
GET /me/tenants;gateway OIDC(登录态);governance mock(数据目录页)。
- dev 端口 console 5173 / admin 5174;受 D3/D4/D1/D2 约束。
6. 完成判据
M1 自拆解简报 · webui
0. 一句话目标
console 以 emerald 默认品牌起,侧栏呈现九大 PRD 模块 L1/L2、每模块有 demoable 入口页、「组织管理」按角色门控、顶栏有租户切换占位——可整体演示。
1. 起点 · 代码现状(基础设施已"真实且测过",勿重建)
pnpm-workspace.yaml锁antd ^6.4.4)+ AntV(packages/ui/src/canvas/*真实包装)。monorepo:apps/console+apps/admin+packages/{ui,brand,theme,i18n,sdk}。packages/brand/src/brand.default.json(现colorPrimary #1668dc)→ 四路扇出(AntD ConfigProvider / CSS Vars / i18n / favicon);部署注入deploy/console/config.js.template+30-render-config.sh(envsubst${BRAND_COLOR_PRIMARY}等)。BrandSwitch仅 demo。apps/console/src/routes/navConfig.tsx仅 5 个 demo 项(playground/lineage/orchestration/dashboard/governance),不匹配九大模块。九模块导航源 =prototype/components/sidebar.tsx。ParseKeys静态校验);CI.github/workflows/ci.yml(lint+vitest+storybook+playwright+build)。dev console 5173 / admin 5174。2. 范围边界
GET /me/tenants。3. 工作项 & 拆分指引
WP1 默认品牌改 emerald(D4)
packages/brand/src/brand.default.jsoncolorPrimary→#059669、colorSecondary→#10b981、appName "HashMatrix";deploy/console/30-render-config.sh默认值同步。机制不动(已测)。config.js注入仍可覆盖。WP2 九模块 L1/L2 导航 + i18n
navConfig.tsx用prototype/components/sidebar.tsx的结构替换 5 个 demo 项(管理中心/数据集成/数据架构/数据开发/数据质量/数据目录/数据安全/数据服务/隐私计算 + 概览);apps/console/src/i18n/locales/{zh-CN,en-US}.ts补menu.*(typed)。WP3 每模块 demoable 入口页
src/modules/<m>/<M>Page.tsx+ lazy route;复用 prototype 观感(AntD/ProComponents 等价);血缘/大屏/编排复用packages/ui/src/canvas/*。可拆为「每模块一个子任务」分人。WP4 组织管理 + 租户切换
app/settings/{users,roles,user-groups},按 Keycloak 角色(JWTX-Roles)门控;顶栏租户切换组件占位,调 control-planeGET /me/tenants(D1/D2:先 1 个、结构按多租户)。WP5 CI 绿
4. 关键参考
prototype/components/sidebar.tsx;组织管理源:prototype/app/settings/{users,roles,user-groups}/page.tsx。services/webui/CLAUDE.md、docs/00-前端初始化-spec.md、packages/brand/*、deploy/console/*。prototype/docs/{00..09}。决策:总纲 D3/D4。5. 依赖 & 约束
GET /me/tenants;gateway OIDC(登录态);governance mock(数据目录页)。6. 完成判据
/me/tenants