文档
08_归档04_VOZEB任务卡

VOZEB-UI-MIGRATION-02-M31 — 安装数据库内层与工作区侧栏收口

Task ID: VOZEB-UI-MIGRATION-02-M31-INSTALL-SHELL
目标用户结果: 运维人员能在清晰的 Ocean Air 玻璃数据库配置面板中完成安装准备;登录用户在桌面侧栏底部始终看到与真实会话一致的账户状态
Feature / Atomic: HOME-P0-001;安装初始化与现有工作区导航/会话契约(仅视觉承载)
Base SHA: 4f84818ab72298dbdde20298607b793e303f15fe
视觉基线: VOZEB-UI-FOUNDATION-01 候选(Ocean Air / Abyss)与 OceanSidebar / OceanMobileDrawer / OceanInstallWizardKit
允许修改: 本任务包;web/src/app/install/database-config-builder.tsx;web/src/app/install/install-page.module.css;web/src/app/install/install-layout.test.ts;web/src/components/layout/app-workspace-shell.tsx;web/src/components/layout/app-workspace-shell.module.css;web/src/components/layout/app-sidebar.tsx;web/src/components/layout/mobile-nav-drawer.tsx;web/src/components/layout/user-status-actions.tsx;web/src/components/layout/app-workspace-shell.test.ts
禁止修改: database-config.ts、install-wizard 行为适配器、安装/认证/导航 API、server/auth/store、共享 Ocean 组件与 token 源、其它页面、背景 renderer、WebGL、manifest、retail-platform
范围: 数据库配置字段、模式切换、配置片段、操作步骤的 Ocean token/Liquid Glass 内层;单一桌面侧栏材质、分组分隔、折叠工具和账户状态卡;移动 drawer 同步账户状态与玻璃材质
非目标: 不改变数据库配置生成、密钥生成、复制、SSL、初始化 POST、安装令牌、路由、权限、导航排序、session 生命周期或业务持久化;不引入 React runtime、额外背景或轮询
已冻结契约与数据模型: modeOptions/buildDeploymentSnippets/generateDeploymentSecret、DatabaseConfigBuilder 页面内存状态、AppSidebar/MobileNavDrawer 既有 href/activeToolSlug/onClose/onPrefetch、usePublicSessionStore 与 useUserStore 会话语义保持不变
安全与数据限制: 令牌、数据库密码和配置片段继续只存在当前页面内存;不写入 URL、LocalStorage、SessionStorage、日志或服务端新状态
验收命令: pnpm exec vitest run src/app/install/install-layout.test.ts src/components/layout/app-workspace-shell.test.ts --config vitest.config.ts --reporter=dot;pnpm exec tsc --noEmit --pretty false;pnpm exec eslint src/app/install/database-config-builder.tsx src/app/install/install-layout.test.ts src/components/layout/app-sidebar.tsx src/components/layout/app-workspace-shell.tsx src/components/layout/mobile-nav-drawer.tsx src/components/layout/user-status-actions.tsx src/components/layout/app-workspace-shell.test.ts --quiet;pnpm exec prettier --check docs/oceanway/VOZEB-UI-MIGRATION-02-M31-INSTALL-SHELL.md src/app/install/database-config-builder.tsx src/app/install/install-page.module.css src/app/install/install-layout.test.ts src/components/layout/app-sidebar.tsx src/components/layout/app-workspace-shell.tsx src/components/layout/app-workspace-shell.module.css src/components/layout/mobile-nav-drawer.tsx src/components/layout/user-status-actions.tsx src/components/layout/app-workspace-shell.test.ts;pnpm run build;git diff --check
人工决策点: LOCAL_IMPLEMENTATION_CANDIDATE / CANDIDATE_EVIDENCE / NOT_FORMAL_TEST;等待独立 Testing/Operations 验收,不提升 IMPLEMENTED、VERIFIED 或 OPERATIONALIZED
交付物: 数据库配置内层玻璃 surface、可读的配置片段/步骤层级、单一侧栏/移动 drawer 玻璃材质、登录/检查中/未登录底部账户状态契约测试

行为保持与视觉边界

  • 数据库 builder 仍由 modeOptions 驱动本机、Docker、宝塔和云数据库四种模式;字段更新、SSL 切换、令牌重新生成、片段切换和显式复制回调保持原实现。
  • 安装向导仍由 OceanInstallWizardKit 负责步骤/状态;本切片不接触 getInstallStatus、/api/install/initialize、首个管理员 AuthForm 或滚动解锁。
  • 侧栏只增加一个单一 Ocean Glass 材质层和明确分组的轻量分隔;保留左侧菜单、折叠宽度、更多 展开、帮助、主题切换、管理员入口和所有既有链接。
  • 账户卡优先读取已加载的公共 session 用户,再由 AuthUserHydrator 的 store 用户覆盖;因此水合期间不会把已登录用户误显示为“登录 OceanWay”。真实匿名、检查中和已认证状态分别保留可读标题、副文案和状态点。
  • 移动 drawer 复用同一账户状态语义;drawer 为 Portal 渲染,使用显式 ocean-liquid-drawer hook 保持玻璃材质,不新增页面背景或第二 renderer。
  • 正文和状态说明使用 Ocean Air 中性色 token;primary 仅保留在图形、焦点和步骤强调中。prefers-reduced-transparency、forced-colors、prefers-reduced-motion 和无 backdrop-filter 均有静态降级。
  • 本切片测试与构建仅作为本地候选证据;没有正式浏览器 E2E、Testing 或 Operations 结论。

状态:LOCAL_IMPLEMENTATION_CANDIDATE / CANDIDATE_EVIDENCE / NOT_FORMAL_TEST

On this page