05 业务能力归类审查
审查对象:已有文档 03-C端业务能力初步清单.md
审查方法:先独立归类,再与文档比对
一、独立业务能力归类
基于代码扫描独立建立的业务能力清单:
能力 1:账号注册与登录
- 代码依据: Apple ID 登录(LoginPage)、会话恢复(SplashScreen/AuthManager)、Token 刷新(APIClient)、账号禁用/注销状态处理(AccountStatusView)
- 用户目标: 使用 Apple ID 安全登录,会话自动恢复
- 关联页面: P01, P03, P04, P05
- 独立判定: 已存在,核心流程完整
能力 2:新手引导与目标设定
- 代码依据: WelcomePage → OnboardingPage → GoalSetupPage 流程
- 用户目标: 首次使用时了解产品价值,设定个性化学习目标
- 关联页面: P02, P06, P07, P26, P27
- 独立判定: 已存在
能力 3:个人资料维护
- 代码依据: EditProfilePage(头像/昵称/身份/方向/目标/简介)+ ProfileView(查看)
- 用户目标: 维护个人档案信息
- 关联页面: P23, P24
- 独立判定: 已存在
能力 4:知识库浏览与管理
- 代码依据: LibraryHomeView(列表/筛选/分页)、LibraryDetailPage(详情/排序/删除)、CreateLibraryPage(创建)、DiscoverView(公开库发现/订阅)
- 用户目标: 创建、浏览、管理个人知识库,发现和订阅公开知识库
- 关联页面: P12, P14, P15, P21
- 独立判定: 已存在。部分功能未完成(官方库筛选、KB 管理页、搜索逻辑)
能力 5:知识点管理
- 代码依据: LibraryDetailPage 知识点 Tab(列表/排序/删除/批量操作)、AddKnowledgePage(手动/文件/图片添加)、KnowledgeDetailPage(查看)、EditKnowledgePage(编辑)
- 用户目标: 在知识库中增删改查知识点
- 关联页面: P14, P16, P17, P18
- 独立判定: 已存在。收藏 API 未支持、重命名/移动到文件夹为 TODO
能力 6:资料上传与处理
- 代码依据: ImportPage(文件/相册/链接导入)、ImportReviewPage(AI 候选审批)
- 用户目标: 将外部资料导入知识库,审核 AI 提取的知识点
- 关联页面: P19, P20
- 独立判定: 已存在
能力 7:文档阅读
- 代码依据: MaterialReaderView(多格式渲染/位置恢复/标记已读)、MaterialDetailView(处理状态/元数据)、QuickLook(系统预览)、ShareLink(外部打开)
- 用户目标: 阅读学习资料,支持多种格式
- 关联页面: P37, P38, S03
- 独立判定: 已存在
能力 8:阅读笔记
- 代码依据: QuickNoteSheet(创建笔记/自动锚点记录)
- 用户目标: 在阅读过程中记笔记
- 关联页面: S02
- 独立判定: 已存在。本地存储(UserDefaults),未同步到服务端
能力 9:阅读行为跟踪
- 代码依据: ReadingRuntimeSessionManager + ReadingEventCollector + ReadingPositionStore
- 用户目标: 自动记录阅读行为,用于分析
- 关联页面: P37(自动执行)
- 独立判定: 已存在
能力 10:学习信息收集
- 代码依据: LearningSessionView(计时)、MaterialReaderView(阅读会话)
- 用户目标: 记录学习时长和阅读行为
- 关联页面: P09, P37
- 独立判定: 已存在。但 LearningSessionView 未发现 API 保存调用,需确认学习会话数据是否真正被收集
能力 11:继续学习
- 代码依据: StudyHomeView 优先级算法(ContinueLearningResponse → MainAction.continueSession)
- 用户目标: 从上次中断处继续学习
- 关联页面: P08
- 独立判定: 已存在
能力 12:AI 对话
- 代码依据: AIChatPage(流式对话/思考过程/多会话管理/范围限定)
- 用户目标: 与 AI 进行学习相关对话
- 关联页面: P30, S01
- 独立判定: 已存在
能力 13:题目与测验
- 代码依据: QuizListView(查看/生成)、QuizTakerView(作答/提交)、QuizResultView(结果/解析)
- 用户目标: 通过测验检验学习效果
- 关联页面: P34, P35, P36
- 独立判定: 已存在
能力 14:学习分析
- 代码依据: AnalysisHomeView(统计徽章/趋势图/连续统计/学习记录/推荐/薄弱点)
- 用户目标: 查看学习数据分析和趋势
- 关联页面: P22
- 独立判定: 已存在。掌握度趋势图和每周活跃图为占位实现
能力 15:主动回忆与 AI 反馈
- 代码依据: ActiveRecallView → AIFeedbackPageView 链路
- 用户目标: 主动输出知识,获得 AI 评估反馈
- 关联页面: P11, P32, P31
- 独立判定: 占位实现(全部使用硬编码数据)
能力 16:间隔复习
- 代码依据: ReviewCardView(闪卡翻转/自评)
- 用户目标: 基于间隔重复的闪卡复习
- 关联页面: P10
- 独立判定: 占位实现(硬编码数据,未接通 API)
能力 17:学习会话计时
- 代码依据: LearningSessionView(专注计时/暂停/结束/庆祝)
- 用户目标: 记录专注学习时长
- 关联页面: P09
- 独立判定: 部分完成(本地计时完成,API 持久化待确认)
能力 18:消息与通知
- 代码依据: NotificationListView(分组展示/已读标记)、SettingsView(通知开关)
- 用户目标: 接收系统通知,管理通知偏好
- 关联页面: P28, P25
- 独立判定: 已存在。通知开关存在绑定 bug
能力 19:设置与应用偏好
- 代码依据: SettingsView(外观/语言/复习提醒/通知/存储/iCloud/退出登录)
- 用户目标: 管理应用全局设置
- 关联页面: P25, P26, P27
- 独立判定: 已存在。合规页面入口缺失、设备管理未实现
能力 20:帮助与反馈
- 代码依据: FeedbackFormView(类型选择/内容输入/提交)
- 用户目标: 提交问题和建议
- 关联页面: P29
- 独立判定: 已存在
能力 21:存储空间管理
- 代码依据: ProfileView 存储空间展示 + SettingsView iCloud 同步开关
- 用户目标: 了解和控制存储使用
- 关联页面: P23, P25
- 独立判定: 部分存在(展示完成,iCloud 同步待确认)
二、与已有文档的能力对比
完全一致的能力(14 项)
| 序号 |
独立能力 |
文档能力 |
判定 |
| 1 |
账号注册与登录 |
1. 账号与用户 |
一致 |
| 2 |
新手引导与目标设定 |
2. 新手引导与目标设定 |
一致 |
| 3 |
知识库浏览与管理 |
3. 知识库管理 |
一致 |
| 4 |
知识点管理 |
4. 知识点管理 |
一致 |
| 5 |
资料上传与处理 |
5. 资料上传 |
一致 |
| 6 |
文档阅读 |
6. 文档阅读 |
一致 |
| 7 |
阅读笔记 |
7. 阅读笔记 |
一致 |
| 8 |
阅读行为跟踪 |
8. 阅读行为跟踪 |
一致 |
| 9 |
学习信息收集 |
9. 学习信息收集 |
一致 |
| 10 |
继续学习 |
10. 继续学习 |
一致 |
| 11 |
AI 对话 |
11. AI 对话 |
一致 |
| 12 |
题目与测验 |
14. 题目与测验 |
一致 |
| 13 |
帮助与反馈 |
20. 帮助与反馈 |
一致 |
| 14 |
设置与应用偏好 |
19. 设置与合规 |
基本一致 |
需要调整的能力(6 项)
| 独立能力 |
文档对应 |
问题 |
建议 |
| 个人资料维护 |
合并入"1. 账号与用户" |
文档将个人资料维护合并入账号与用户能力。独立判定认为这是可接受的归类,但边界稍显模糊。 |
可保持现状,或拆分出"个人资料维护"子能力 |
| 主动回忆与 AI 反馈 |
15. 主动回忆 + 12. AI 学习分析 |
文档将"主动回忆"和"AI 学习分析"分为两个独立能力。独立判定认为主动回忆 → AI 反馈是一个连续流程,不应强行拆分。 |
建议将"15. 主动回忆"与"12. AI 学习分析"合并为"主动回忆与 AI 反馈" |
| 间隔复习 |
16. 间隔复习 |
一致 |
— |
| 学习分析 |
13. 学习分析 |
一致 |
— |
| 学习会话计时 |
无独立条目 |
文档将学习会话计时合并入"9. 学习信息收集"。独立判定认为学习会话计时是一个有独立 UI 的用户行为,宜作为独立能力或子能力。 |
建议在"学习信息收集"能力下明确标注"学习会话计时"子项 |
| 消息与通知 |
18. 消息与通知 |
一致 |
— |
| 存储空间管理 |
合并入"17. 会员与额度" |
文档将其归入"会员与额度"。独立判定认为当前代码中无会员/订阅/付费功能,命名为"会员与额度"不准确。 |
建议重命名为"存储与额度"或"存储空间管理" |
文档有但未发现代码支持的能力(1 项)
| 文档能力 |
判定 |
说明 |
| 17. 会员与额度 |
未发现会员/订阅相关代码 |
代码中无内购、订阅、付费墙、会员等级等实现。存储展示和 iCloud 同步开关存在,但被描述为"会员与额度"不准确。 |
三、能力归类质量检查
以技术模块命名检查
| 文档能力名 |
是否以技术模块命名 |
判定 |
| 账号与用户 |
否 |
通过 |
| 知识库管理 |
否 |
通过 |
| 阅读行为跟踪 |
边缘 |
偏技术,建议改为"阅读进度同步"或保持 |
| AI 对话 |
否 |
通过 |
| AI 学习分析 |
否 |
通过 |
闭环拆分过度/不足检查
| 文档能力 |
问题 |
| 主动回忆 + AI 学习分析 |
拆分过度。主动回忆提交 → AI 反馈是一个连续用户体验,不应分为两个能力 |
| 阅读行为跟踪 + 学习信息收集 |
边界模糊。两者都涉及数据收集,调用相同的底层 FFI 和 API |
| 文档阅读 + 阅读笔记 + 阅读行为跟踪 |
三个能力高度耦合在 MaterialReaderView 中,是否过度拆分值得商榷 |
按页面名称命名检查
| 文档能力 |
是否直接使用页面名 |
判定 |
| 继续学习 |
否(StudyHomeView 的功能,非页面名) |
通过 |
| 题目与测验 |
否 |
通过 |
| 主动回忆 |
是(与页面同名) |
建议改为"主动回忆与 AI 评估" |
四、文档业务能力依赖关系图审查
文档中的依赖关系图:
账号与用户
└─ 新手引导与目标设定
└─ 知识库管理
├─ 知识点管理
├─ 资料上传 → 文档阅读
│ ├─ 阅读笔记
│ └─ 阅读行为跟踪 → 学习信息收集
└─ 题目与测验
├─ AI 对话
├─ 继续学习 → 主动回忆 / 间隔复习 / 文档阅读
│ └─ AI 学习分析
└─ 学习分析
└─ AI 学习分析
审查意见:
- "AI 对话"应在"知识库管理"下有分支(知识库范围对话)。
- "AI 对话"也应在"文档阅读"下有分支(资料范围对话)。
- "题目与测验"应在"文档阅读"下有分支(从资料阅读触发解析后进入测验)。
- "阅读笔记"也应关联到"知识点管理"(知识点详情页有笔记入口)。
- "主动回忆 → AI 学习分析 → 间隔复习"应形成环路(分析后加入待巩固)。
- "学习分析"应在"学习信息收集"之后,而非独立于信息收集。
五、总体评估
| 评估维度 |
结果 |
| 能力数量合理度 |
20 项基本合理,建议合并"主动回忆"与"AI 学习分析" |
| 能力命名准确度 |
17/20 准确,1 个偏技术(阅读行为跟踪),1 个以页面命名(主动回忆),1 个不准确(会员与额度) |
| 能力边界清晰度 |
阅读相关 3 个能力(文档阅读/阅读笔记/阅读行为跟踪)边界可讨论 |
| 依赖关系准确度 |
基本正确,若干分支缺失 |
| 遗漏能力 |
无重大遗漏,学习会话计时建议作为子能力标注 |
结论:业务能力归类文档整体合理,主要问题是"会员与额度"命名不准确(当前无会员功能)、"主动回忆"与"AI 学习分析"建议合并、依赖关系图缺少几个交叉引用。