Files
mindfulness/spec_kit/Onboarding App Shell/spec.md
吕新雨 049995692d init
2026-01-28 20:50:17 +08:00

4.6 KiB
Raw Blame History

Onboarding App Shell高层规范

1. 背景与目标

本需求用于落地客户端的“首次进入体验 + 主应用壳 + 关键入口”,包含:

  • 35 页可跳过的 Onboarding问题页均可跳过
  • Push 设置页(可跳过)
  • 进入主 App支持“点赞/讨厌”交互
  • 收藏夹入口
  • 通用设置入口版本信息、iOS 小组件入口

目标

  • 首次体验顺畅:用户可完成或跳过 Onboarding 与 Push 设置,不阻塞进入主功能
  • 主功能可用:进入主 App 后可对内容进行“点赞/讨厌”,并能进入收藏夹与设置
  • 入口清晰:收藏夹与设置入口明显且可从主界面到达
  • 状态可持久化Onboarding 完成状态、Push 设置选择(是否跳过)、点赞/讨厌记录、收藏记录可持久化

非目标(本阶段不做)

  • 不实现完整推送业务闭环(仅做“设置入口/引导”,且可跳过)
  • 不实现真实推荐算法(内容来源可先用本地 mock 或固定列表)
  • iOS 小组件不要求完整上线交互(先做“入口/说明/引导”即可,实际小组件实现可拆分到后续模块)

2. 用户流程(高层)

2.1 首次启动

  1. App 启动
  2. Onboarding35 页)
    • 每页都提供 跳过Skip
    • 支持上一页/下一页(可选)
  3. Push 设置页(可选进入,且可跳过)
  4. 进入主 App内容卡片/列表)并可点赞/讨厌

2.2 非首次启动

  • 若已完成或跳过Onboarding直接进入主 App

3. 功能需求(高层)

3.1 Onboarding35 页,问题可跳过)

  • 页数35 页(可配置)
  • 内容:以“问题/偏好收集”为主(具体题目可后续在内容配置中迭代)
  • 跳过策略
    • 每页可跳过(不强制填写)
    • 最终可一键跳过整个 Onboarding
  • 视觉反馈
    • 进度指示(例如 1/5 或进度条)
    • 清晰的“下一步/跳过”按钮

3.2 Push 设置(可跳过)

  • 提供一页“开启通知”的引导与说明
  • 支持:
    • 立即开启(触发权限申请)
    • 稍后(跳过)
  • 用户选择需持久化(用于后续在设置页再次引导)

3.3 主 App点赞/讨厌

  • 主界面展示一条“情绪文字/正念短句/卡片内容”
  • 支持两种操作:
    • 点赞Like
    • 讨厌Dislike
  • 行为结果:
    • 记录用户操作(本地持久化)
    • 点赞内容可进入收藏夹(或点赞即收藏,具体规则在实现时确认)

3.4 收藏夹入口

  • 主界面提供“收藏夹”入口
  • 收藏夹展示已收藏内容列表
  • 支持取消收藏(可选)

3.5 通用设置入口

设置页至少包含:

  • 版本信息:展示 App 版本号(和可选的 build number
  • iOS 小组件:入口/说明
    • 提供“如何添加小组件”的引导文案
    • 若后续实现小组件配置页,可从此入口进入
  • 通知设置(可选,但建议有):
    • 展示当前通知状态
    • 允许用户再次进入系统设置开启通知iOS/Android 跳转能力按平台支持情况实现)

4. 数据与持久化(高层)

需要持久化的最小集合:

  • onboarding.completed: boolean
  • push.promptState: enabled | skipped | unknown
  • content.reactions: 记录内容 ID 与 like/dislike
  • favorites.items: 收藏内容列表(按 ID 存储)

说明:本期可采用本地存储(例如 AsyncStorage后续可扩展为与后端同步。

5. 页面与导航(建议)

  • Onboarding(多页)
  • PushPrompt(可跳过)
  • Home(点赞/讨厌)
  • Favorites(收藏夹)
  • Settings通用设置版本、iOS 小组件)

若使用 expo-router

  • Onboarding 可用分组路由(例如 (onboarding))管理,并在完成后跳转到 (tabs)Home

6. 验收标准

  • 首次进入:
    • 可完成或跳过 Onboarding任意页可跳过
    • Push 设置页可跳过
    • 最终一定能进入主 App
  • 主功能:
    • 主界面可对内容执行点赞/讨厌并记录
    • 存在收藏夹入口且可看到收藏内容
    • 存在设置入口且能看到版本与 iOS 小组件入口/说明
  • 持久化:
    • 重启 App 后Onboarding 不会重复出现(除非主动清除状态)
    • 点赞/收藏记录仍存在

7. 风险与注意事项

  • 通知权限申请时机:过早弹窗可能导致拒绝率上升,建议通过引导页解释后再触发
  • iOS 小组件能力受系统限制:刷新频率与内容更新不保证严格实时
  • 内容来源:若暂未接后端,需提供可替换的 mock 内容与唯一 ID 方案