08_归档04_VOZEB任务卡
VOZEB-UI-MIGRATION-02-M22 — 管理后台 Ocean Foundation 视觉切片
Task ID: VOZEB-UI-MIGRATION-02-M22-ADMIN
目标用户结果: 管理员可以在统一 Ocean Air / Abyss 液态玻璃壳层中巡检后台分区和安装后初始化步骤,并继续使用原有权限、配置、审计、刷新和跳转操作
Feature ID / Atomic Requirement IDs: HOME-P0-001(仅承载后台视觉壳层);ADMIN-P0-001..003(既有管理员能力的视觉承载)
Base SHA: 12abbd6ef509625a4fc130c643e290377dd36e39
必须阅读: VOZEB-UI-FOUNDATION-01.md;VOZEB-UI-MIGRATION-02.md;admin/page.tsx;admin/setup/page.tsx;AdminDashboard;AdminSectionNav;admin-setup-status
允许修改: 本任务包;web/src/app/admin/page.tsx;web/src/app/admin/admin-page.module.css;web/src/app/admin/setup/page.tsx;web/src/app/admin/setup/admin-setup-page.module.css;直属布局/契约测试
禁止修改: web/src/components/admin/**;web/src/app/admin/billing/**;web/src/app/admin/generation-operations/**;API/server/auth/stores;共享 Ocean/UI/manifest;其它页面和后台业务实现;第二页面背景、WebGL/canvas 或新的 runtime TSX
范围: 管理后台主壳、分区导航与头部操作 rail 的 Ocean Glass/Status/Reveal 包装;初始化配置页的 hero、进度、部署摘要、步骤导航、状态卡和动作控件的 Ocean Glass 视觉重构
非目标: 不改变管理员 RBAC、权限重定向、section query 解析、配置保存/上传、数据加载/刷新、审计动作、Modal/Drawer、安装状态计算、链接 href、登录态或任何业务 DTO
已冻结契约与数据模型: getAuthenticatedPageAccess、parseAdminSection/resolveAdminSection、AdminDashboard/Controller、AdminSectionNav、getAdminSetupSummary 和 UserStatusActions 的现有边界保持不变;OceanAdminKit 只消费 setup view-model,不拥有写入或权限逻辑
安全与数据限制: 仅使用当前已认证管理员和既有服务端摘要;不读取/输出 Secret,不写浏览器持久化,不触发真实上游、账务或生产写入
验收命令: pnpm exec vitest run src/app/admin/admin-page-layout.test.ts src/app/admin/setup/admin-setup-page-layout.test.ts --config vitest.config.ts --reporter=dot;pnpm exec tsc --noEmit --pretty false;pnpm exec eslint src/app/admin/page.tsx src/app/admin/admin-page.module.css src/app/admin/setup/page.tsx src/app/admin/setup/admin-setup-page.module.css src/app/admin/admin-page-layout.test.ts src/app/admin/setup/admin-setup-page-layout.test.ts --quiet;pnpm exec prettier --check docs/oceanway/VOZEB-UI-MIGRATION-02-M22-ADMIN.md src/app/admin/page.tsx src/app/admin/admin-page.module.css src/app/admin/setup/page.tsx src/app/admin/setup/admin-setup-page.module.css src/app/admin/admin-page-layout.test.ts src/app/admin/setup/admin-setup-page-layout.test.ts;pnpm run build;git diff --check
人工决策点: LOCAL_IMPLEMENTATION_CANDIDATE / CANDIDATE_EVIDENCE / NOT_FORMAL_TEST;需后续人工确认后台长列表密度、安装步骤信息层级、窄桌面抽屉和深色玻璃对比度
交付物: `/admin` 与 `/admin/setup` 的 Ocean Air/Abyss 页面壳、状态/进度/权限可读性降级、响应式布局契约测试和候选任务包验收边界
/admin继续由服务端完成登录、安装状态、管理员角色、section query 解析和首个可访问分区判定;AdminDashboard、Controller、SectionNav 及所有懒加载业务 section 仍是行为 Owner。/admin/setup继续由服务端完成登录、安装重定向、权限判断、getAdminSetupSummary计算和每个步骤的href;页面只替换展示壳与状态标记。- 主后台不挂载新的
OceanAmbientBackground、WebGL renderer 或 canvas;仅使用根布局已存在的 Ocean Air/Abyss token 和局部 Liquid Glass backdrop。 - 主后台保留左侧分区导航;桌面侧栏可折叠,窄屏仍使用既有 mobile drawer/backdrop。新增样式不改变点击、键盘焦点、query 或懒加载回调。
- 初始化页的
done、attention、pending状态仍来自服务端摘要;进度条使用同一个setup.percent,状态标签与步骤动作不创建新的业务状态。 prefers-reduced-motion、prefers-reduced-transparency、forced-colors、不支持backdrop-filter和 390/430 窄屏均提供静态可读 fallback;页面不产生横向滚动。- 正文和状态说明采用 Ocean Air/Abyss 中性文字;主题色只用于图形、进度、焦点和明确动作,不以蓝色作为正文。
OceanAdminDataKit不在本切片伪造业务表格;既有业务 section 继续拥有自己的数据表格/详情交互,后续切片可按真实 view-model 接入。- 本切片只登记
LOCAL_IMPLEMENTATION_CANDIDATE / CANDIDATE_EVIDENCE / NOT_FORMAL_TEST,不提升正式 Development、Testing 或 Operations 状态。
行为保持记录
本切片仅修改两个 route page 的展示节点与直属 CSS/契约测试:
/admin保留getAuthenticatedPageAccess、安装/登录/非管理员重定向、parseAdminSection、resolveAdminSection、getFreshAuthSettings、getPublicUserSummary、serializeAdminSettingsForUser、getAdminSetupSummary和AdminDashboardprops。/admin/setup保留hasAnyAdminPermission的四组权限判断、安装/登录重定向、getAdminSetupSummary的步骤状态与事实、所有配置链接和当前管理员会话。OceanStatusCluster、OceanReveal、OceanGlassCard与OceanAdminKit只负责视觉/可读性承载;没有新增 API、store、fetch、写入、权限判断或客户端业务状态。