273 lines
12 KiB
Markdown
273 lines
12 KiB
Markdown
# 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 学习分析
|
||
```
|
||
|
||
审查意见:
|
||
1. "AI 对话"应在"知识库管理"下有分支(知识库范围对话)。
|
||
2. "AI 对话"也应在"文档阅读"下有分支(资料范围对话)。
|
||
3. "题目与测验"应在"文档阅读"下有分支(从资料阅读触发解析后进入测验)。
|
||
4. "阅读笔记"也应关联到"知识点管理"(知识点详情页有笔记入口)。
|
||
5. "主动回忆 → AI 学习分析 → 间隔复习"应形成环路(分析后加入待巩固)。
|
||
6. "学习分析"应在"学习信息收集"之后,而非独立于信息收集。
|
||
|
||
---
|
||
|
||
## 五、总体评估
|
||
|
||
| 评估维度 | 结果 |
|
||
|---------|------|
|
||
| 能力数量合理度 | 20 项基本合理,建议合并"主动回忆"与"AI 学习分析" |
|
||
| 能力命名准确度 | 17/20 准确,1 个偏技术(阅读行为跟踪),1 个以页面命名(主动回忆),1 个不准确(会员与额度) |
|
||
| 能力边界清晰度 | 阅读相关 3 个能力(文档阅读/阅读笔记/阅读行为跟踪)边界可讨论 |
|
||
| 依赖关系准确度 | 基本正确,若干分支缺失 |
|
||
| 遗漏能力 | 无重大遗漏,学习会话计时建议作为子能力标注 |
|
||
|
||
**结论:业务能力归类文档整体合理,主要问题是"会员与额度"命名不准确(当前无会员功能)、"主动回忆"与"AI 学习分析"建议合并、依赖关系图缺少几个交叉引用。**
|