文档
08_归档04_VOZEB任务卡

VOZEB-UI-MIGRATION-02-M12 — 个人中心 Ocean Foundation 视觉切片

Task ID: VOZEB-UI-MIGRATION-02-M12-PROFILE
目标用户结果: 用户能在统一 Ocean Air 壳层中查看和管理个人资料、套餐、优惠券、订单、积分、消费、邀请与账户安全
Feature ID / Atomic Requirement IDs: HOME-P0-001;BILLING-P0-001;KEY-P0-001;USAGE-P0-001;EXEC-P0-001..003(仅承载个人中心视觉与既有交互)
Base SHA: 0701905d640dc1bd551ae1afe8ff1d38c122a393
必须阅读: VOZEB-UI-FOUNDATION-01.md;VOZEB-UI-MIGRATION-02.md;profile/page.tsx;profile/profile-elements.tsx;现有 profile layout tests
允许修改: 本任务包;web/src/app/(user)/profile/page.tsx;web/src/app/(user)/profile/profile-elements.tsx;web/src/app/(user)/profile/profile-page.module.css;web/src/app/(user)/profile/profile-page-layout.test.ts
禁止修改: profile/use-profile-data.ts;account/security/coupon/referral 子组件逻辑;services/api/**;stores;API routes;billing/points/usage 数据与服务;routes;共享 Ocean/UI 组件与 manifest;layout/navigation;其它页面、Go、contracts、migrations、部署文件
范围: 将个人中心页面壳层、分区导航、账户概览、资料表单、订单/积分记录和套餐表面接入 OceanGlassCard、OceanContentCard、OceanLoadingShell、OceanStatusCluster、OceanUtilityControl、OceanReveal;使用页面作用域兼容既有账户安全/优惠券/邀请子组件的中性材质
非目标: 不改变 searchParams、分页、表单提交、下载、登出、注销、MFA、优惠券领取、邀请奖励、套餐结算、订单或积分/消费语义;不新增页面级背景、WebGL、业务缓存或真实上游调用;不新增 runtime TSX
已冻结契约与数据模型: ProfileSectionKey、useProfileData、auth/profile、auth/email-code、auth/password、downloadUserDataExport、BillingPlanGrid、AccountDeletionPanel、AdminMfaPanel、LoginSecurityPanel、CouponWalletSection、ProfileReferralCenter 的 props、路由和事件边界保持不变
安全与数据限制: 仅使用当前登录会话与服务端返回数据;不读取或输出 Secret,不把业务列表写入浏览器持久化,不触发真实上游、账务或生产写入
验收命令: pnpm exec vitest run src/app/(user)/profile/profile-page-layout.test.ts src/app/(user)/profile/profile-account-security-layout.test.ts src/app/(user)/profile/profile-community-layout.test.ts src/app/(user)/profile/profile-coupon-pagination.test.ts;pnpm exec tsc --noEmit --pretty false;pnpm exec eslint src/app/(user)/profile/page.tsx src/app/(user)/profile/profile-elements.tsx src/app/(user)/profile/profile-page-layout.test.ts --quiet;pnpm exec prettier --check docs/oceanway/VOZEB-UI-MIGRATION-02-M12-PROFILE.md src/app/(user)/profile/page.tsx src/app/(user)/profile/profile-elements.tsx src/app/(user)/profile/profile-page.module.css src/app/(user)/profile/profile-page-layout.test.ts;pnpm run build;git diff --check
人工决策点: LOCAL_IMPLEMENTATION_CANDIDATE / CANDIDATE_EVIDENCE / NOT_FORMAL_TEST;账户安全/优惠券/邀请弹层仍由既有组件逻辑拥有,需后续人工确认 Portal 材质
交付物: Ocean Air 个人中心页面候选、账户概览与分区导航、表面/状态/加载/空态视觉契约测试和任务包

验收边界

  • 页面继续由 AppWorkspaceShell 提供工作区背景;本切片不新增 OceanAmbientBackground、WebGL renderer 或第二个页面级背景。
  • section search param、个人资料/邮箱/密码保存、套餐跳转、优惠券分页与领取、订单/积分/消费分页、邀请加载和安全组件回调保持原有行为。
  • 页面新增的玻璃表面只使用 Ocean Air/Abyss token 与单层 hairline;正文、状态说明和记录元数据使用中性色,主题色只承担明确动作、焦点和图形强调。
  • 账户安全、优惠券和邀请的既有子组件未改业务逻辑;页面作用域仅提供必要的兼容材质覆盖,避免扩散到共享样式。
  • 390px、430px、窄桌面无横向溢出;prefers-reduced-motion、prefers-reduced-transparency 和 forced-colors 下内容仍可读且可操作。
  • 本切片仅登记候选实现,不提升正式 Development、Testing 或 Operations 状态。

On this page