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

93 lines
4.1 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 Spec
## Background
当前应用主要按 iPhone 体验实现iPad 上存在以下问题:
- 页面布局在竖屏/横屏或不同窗口尺寸下出现留黑边、内容拥挤、元素比例失衡。
- 各页面对 iPad 的适配策略不统一,样式行为不可预测。
- iOS Widget 在 iPad 场景下缺少完整的尺寸与排版一致性规范。
本需求定义“全应用 iPad 适配”高层规范,覆盖客户端全部页面与 iOS 小组件,确保不回归现有 iPhone 体验。
## Goals
1. 为客户端所有页面建立统一的 iPad 适配规范(优先竖屏,兼容 iPad 常见窗口模式)。
2. 完成全部页面在 iPad 下的布局、间距、字号、交互可用性优化。
3. 完成 iOS Widget 在 iPad 相关尺寸上的视觉与信息层级适配。
4. 明确“iPad 适配不影响 iPhone”的约束、验收与回归策略。
## Non-Goals
- 不重做品牌视觉与核心交互流程。
- 不引入与 iPad 适配无关的新业务功能。
- 不调整后端接口契约(除非为 Widget 展示字段做最小兼容补充)。
## Scope
### In Scope
- `client/app/` 下所有用户可见页面启动、协议、onboarding、home、modal、not-found 等)。
- 共享组件与页面级组件在 iPad 场景下的布局策略容器宽度、断点、字号、触控面积、safe area 处理)。
- iPad 竖屏主流程视觉一致性与可用性。
- iOS Widget小/中/大尺寸)在 iPad 的展示、文本截断、间距与点击目标。
- iPad 相关工程配置核查(如设备家族支持、方向策略与运行模式)。
### Out of Scope
- Android 平板专项适配。
- Web 端平板适配。
- 新增 widget 类型或新增推荐策略。
## Core Requirements
### R1. 统一适配基线
- 定义 iPad 判定与布局断点策略,避免各页面各自实现。
- 页面默认使用“内容最大宽度 + 居中 + 弹性留白”模式,不出现视觉黑边误判。
- 明确安全区、状态栏、底部操作区在 iPad 下的通用规则。
### R2. 页面逐页适配
- 按页面清单逐页交付,单页可独立验收。
- 每页适配需覆盖:首屏构图、正文可读性、底部操作区、长文案换行与触控可用性。
- 已完成页面进入“冻结状态”,未经确认不回改。
### R3. iPhone 零回归
- 所有 iPad 样式调整必须使用条件分支或断点方案,不修改 iPhone 基线参数。
- 每次页面适配后执行 iPhone 快速回归(关键路径与关键组件)。
### R4. iOS Widget 适配
- 覆盖 iPad 下 widget 尺寸与展示密度差异,保证文本与图形不溢出、不遮挡。
- 小组件与主 App 的主题、字体层级、文案截断策略保持一致。
- 提供 widget 预览/截图验收基线(至少包含浅色模式)。
### R5. 验收与质量
- 建立页面级验收清单:布局完整性、可读性、点击可达性、状态一致性、异常文案表现。
- 关键页面提供 iPad 对比截图(改前/改后)与 iPhone 回归截图。
- 适配完成后输出覆盖清单,确保无遗漏页面。
## Acceptance Criteria
1. 应用在 iPad 真机/模拟器上以 iPad 模式运行,不出现 iPhone 兼容模式导致的系统黑边。
2. 全部页面在 iPad 竖屏下通过视觉与交互验收,页面无明显错位、截断、重叠。
3. iPhone 主流尺寸下关键路径无样式与交互回归。
4. iOS Widget 在 iPad 对应尺寸下通过展示验收。
5. 提供最终“页面覆盖矩阵 + 验收记录”。
## Risks
- 现有页面存在大量固定像素值,逐页改造可能引入局部联动风险。
- iPad 多窗口/舞台管理会带来额外窗口尺寸变化,需要明确支持级别。
- Widget 文案长度受多语言影响,需预留截断与回退策略。
## Milestones (High-Level)
1. 基线与清单:完成断点策略、页面与组件清单、验收模板。
2. 页面适配:按“启动链路 -> onboarding -> 主页面 -> 弹层/边缘页面”逐页交付。
3. Widget 适配:完成尺寸验证与视觉一致性收口。
4. 全量回归iPad 全页检查 + iPhone 零回归确认 + 发布前验收。