Files
mindfulness/spec_kit/iPad Adaptation/task.md
2026-03-03 19:55:53 +08:00

152 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# iPad Adaptation任务清单
> 说明:本清单由 `plan.md` 拆解,强调“详细、可执行、可验收”。
> 执行规则:完成后将 `- [ ]` 改为 `- [x]`;阻塞项需补充阻塞原因与解除条件。
> 约束:所有 iPad 改动不得影响 iPhone 现有适配。
## 0. 基线与准备
- [ ] **T0-1 建立页面与组件盘点清单**
- 输出:`client/app/` 页面清单 + 关键共享组件清单(含负责人/优先级)
- 验收清单覆盖启动链路、onboarding、home、settings、favorites、modal、not-found
- [ ] **T0-2 建立验收模板(页面级)**
- 输出统一验收模板布局、文案、交互、状态、iPhone 回归、截图)
- 验收:模板可用于每页独立签收
- [x] **T0-3 建立 iPad 适配基线工具函数/约定**
- 内容:统一 `isTablet` 判定、宽度分级560/620/680、容器基线写法
- 验收:至少在 1 个页面实际接入并可复用
## 1. 原生配置修正(黑边先决条件)
- [x] **T1-1 修正 iOS 目标设备族为 iPhone+iPad**
- 文件:`client/ios/client.xcodeproj/project.pbxproj`
- 要求:主 App targetDebug/Release`TARGETED_DEVICE_FAMILY` 包含 `1,2`
- 验收iPad 运行不再是 iPhone 兼容模式
- [x] **T1-2 校验方向策略与产品要求一致(优先竖屏)**
- 文件:`client/app.json``client/ios/client/Info.plist`
- 要求iPad 方向策略与“竖屏优先”一致,不引入系统级黑边
- 验收iPad 竖屏全屏显示稳定
- [ ] **T1-3 设备验证(基础冒烟)**
- 场景iPad 模拟器(至少 11-inch+ iPhone 两档尺寸
- 验收:启动页无系统黑边,应用可正常进入主流程
## 2. 启动链路页面适配(第一批)
- [x] **T2-1 适配 `app/(splash)/splash.tsx`(同意页)**
- 范围:首屏构图、文案可读、底部按钮区、安全区
- 要求iPad 使用独立参数分支iPhone 参数保持不变
- 验收iPad 竖屏无错位、无遮挡iPhone 对比无回归
- [x] **T2-2 适配 `app/index.tsx`(启动分发页)**
- 范围:加载态容器尺寸、跳转前视觉稳定性
- 验收iPad 下不闪烁、不出现异常留边
- [ ] **T2-3 启动链路验收与冻结**
- 输出iPad 改前/改后截图 + iPhone 回归截图
- 验收:产品确认后标记“冻结”,不再改动本批页面
## 3. Onboarding 全流程适配(第二批)
- [x] **T3-1 适配 `components/onboarding/OnboardingLayout.tsx`**
- 范围:标题区、进度区、内容最大宽度、顶部操作区
- 验收iPad 竖屏布局层级清晰,交互区域可达
- [x] **T3-2 适配 `components/onboarding/NameInputStep.tsx`**
- 范围:输入卡片宽度、键盘抬升、底部按钮区
- 验收iPad 输入过程不卡位、不遮挡按钮
- [x] **T3-3 适配 `components/onboarding/SelectionStep.tsx`**
- 范围:选项卡宽度/间距、滚动区底部留白、底部按钮区
- 验收:末项可见且不被按钮覆盖
- [x] **T3-4 适配 `components/onboarding/ReminderStep.tsx`**
- 范围:数字区比例、加减按钮间距、完成按钮区域
- 验收iPad 读数清晰,触控误触率低
- [x] **T3-5 适配 `app/(onboarding)/onboarding.tsx`(流程壳)**
- 范围步骤切换稳定性、loading 态布局一致性
- 验收:全流程在 iPad 竖屏可连续通过
- [ ] **T3-6 Onboarding 批次验收与冻结**
- 输出:逐页截图 + 关键交互录屏(可选) + iPhone 回归截图
- 验收:确认后冻结本批页面
## 4. 主应用页面适配(第三批)
- [x] **T4-1 适配 `app/(app)/home.tsx`**
- 范围:卡片区、顶部入口、底部操作、空/加载状态
- 验收iPad 信息层级清晰,无文本溢出
- [ ] **T4-2 适配 Home 相关弹层组件**
- 范围:`components/home/` 下弹层、设置卡片、协议入口弹窗
- 验收:弹层在 iPad 下尺寸与点击区合理
- [ ] **T4-3 适配收藏/设置相关页面与入口**
- 范围Favorites、Settings 及关联子组件
- 验收:列表与信息卡在 iPad 下无拥挤/空旷失衡
- [ ] **T4-4 主应用批次验收与冻结**
- 输出:关键页面截图 + 回归记录
- 验收:产品确认后冻结
## 5. 边缘页面与通用组件适配(第四批)
- [x] **T5-1 适配边缘路由页面**
- 范围:`modal``+not-found`、其他辅助页
- 验收iPad 下无明显样式异常
- [ ] **T5-2 清理固定像素高风险点**
- 范围:扫描固定宽高/绝对定位集中区域,替换为分支参数
- 验收:高风险点清单完成闭环
- [ ] **T5-3 通用组件收口**
- 范围:复用组件(如 Sheet、按钮、卡片容器统一 iPad 参数
- 验收:跨页面表现一致
## 6. iOS Widget iPad 适配
- [ ] **T6-1 盘点 Widget 展示尺寸与当前问题**
- 范围Small/Medium/Large 在 iPad 下的展示差异
- 验收:输出问题矩阵(文字溢出/留白/层级)
- [ ] **T6-2 调整 Widget 排版参数**
- 范围:边距、字号、行高、文本截断策略
- 验收:各尺寸均无溢出、无遮挡、层级清晰
- [ ] **T6-3 多语言长文案回归**
- 范围:至少 TC/EN 长短文案样本
- 验收:不同语言下展示稳定
- [ ] **T6-4 Widget 验收截图归档**
- 输出:各尺寸截图(浅色模式必选)
- 验收:可用于最终发布验收材料
## 7. 全量回归与发布前验收
- [ ] **T7-1 iPad 全页面走查**
- 范围:按页面清单逐项验证布局/交互/状态
- 验收:无 P0/P1 视觉与交互问题
- [ ] **T7-2 iPhone 零回归冒烟**
- 范围启动、onboarding、home、settings、favorites、关键弹层
- 验收:关键路径行为与样式无回归
- [ ] **T7-3 输出最终覆盖矩阵与验收记录**
- 输出:页面覆盖表、问题清单、处理结论、剩余风险
- 验收:可直接作为发布前审阅材料
## 8. 收尾与文档同步(全部完成后执行)
- [ ] **T8-1 更新 `spec_kit/overview.md` 对应条目**
- 要求:新增 `iPad Adaptation` 小节,记录目标、范围、阶段产物、完成状态
- 验收:`overview.md` 可一眼看出该需求“任务已全部执行完毕”
- [ ] **T8-2 标记本文件完成状态**
- 要求:`task.md` 全部条目改为 `[x]`,并在文件顶部补“已完成日期/负责人”
- 验收:任务清单闭环