ios-projects/docs/system-map/ios/04-C端正式业务能力树.md

260 lines
11 KiB
Markdown
Raw Permalink 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.

# 04 C 端正式业务能力树
> 基于 iOS 页面地图和功能总表,按业务领域→业务能力→子能力的三层结构整理。
> 不按代码目录组织,不写代码文件路径、类名。
---
## 1. 账号与用户
**能力说明:** 用户注册登录、会话管理、账号状态处理、个人资料维护。
```
账号与用户
├── 注册与登录
│ ├── Apple ID 登录(含 nonce 验证)
│ ├── 自动会话恢复Keychain Token → API 校验)
│ └── Token 刷新401 自动重试)
├── 账号状态管理
│ ├── 账号禁用展示
│ └── 账号注销展示
├── 个人资料维护
│ ├── 头像上传与裁剪
│ ├── 昵称编辑
│ ├── 学习身份/方向/目标编辑
│ └── 个人简介编辑
└── 账号安全与设备
├── 登录设备查看API 已就绪C 端入口未实现)
├── 移除登录设备API 已就绪C 端入口未实现)
└── 账号注销API 已就绪C 端入口未实现)
```
**当前完成度:** 部分完成
- 已完成Apple ID 登录、会话恢复、Token 刷新、账号禁用/注销展示、个人资料查看与编辑
- 未完成:登录设备查看/移除无 C 端入口API 已就绪)、账号注销无 C 端入口API 已就绪)、隐私政策和用户协议页面未接入
---
## 2. 内容获取与管理
**能力说明:** 用户构建和管理个人学习知识库的完整能力,包括知识库的创建浏览、知识点的增删改查、外部资料的导入。
```
内容获取与管理
├── 知识库管理
│ ├── 创建知识库(封面、名称、描述)
│ ├── 浏览知识库列表(无限滚动分页)
│ ├── 筛选知识库(全部/我的/已订阅/官方)
│ ├── 搜索知识库(搜索逻辑未实现)
│ ├── 查看知识库详情(双 Tab知识点 + 来源文件)
│ ├── 删除知识库
│ ├── 订阅/取消订阅公开知识库
│ └── 发现公开知识库
├── 知识点管理
│ ├── 手动添加知识点(标题 + 内容)
│ ├── 文件添加知识点PDF/文本/图片,自动上传 COS
│ ├── 查看知识点详情(多格式渲染:文本/Markdown/文件)
│ ├── 编辑知识点(标题 + 内容)
│ ├── 删除知识点(单个 + 批量)
│ ├── 排序知识点(默认/大小/创建时间/更新时间)
│ ├── 收藏知识点UI 已实现,后端 API 未支持)
│ ├── 重命名知识点TODO
│ └── 移动知识点到文件夹TODO
├── 资料上传
│ ├── 文件导入PDF/纯文本 → COS 上传)
│ ├── 相册导入(图片 → 压缩 → COS 上传)
│ ├── 链接导入(输入 URL
│ └── 导入候选审核AI 提取知识点 → 接受/拒绝/批量接受)
└── 文件夹管理
├── 创建文件夹
├── 重命名文件夹
└── 删除文件夹
```
**当前完成度:** 部分完成
- 已完成:创建知识库、列表浏览、详情查看、知识点增删改查、批量操作、资料导入(三种方式)、导入候选审核、文件夹管理、公开库订阅
- 未完成:搜索逻辑、官方筛选、收藏 API、重命名、移动到文件夹、知识库管理页
---
## 3. 学习执行
**能力说明:** 用户执行学习行为本身的能力,包括阅读资料、收集学习行为数据、做笔记。
```
学习执行
├── 文档阅读
│ ├── 多格式渲染Markdown/文本/图片/EPUB/PDF/Word/Excel/PPT
│ ├── 系统预览QuickLookPDF/Word/Excel
│ ├── 外部打开ShareLinkPPT
│ ├── 标记已读/取消标记
│ ├── 阅读位置记录与恢复API → 本地 → 会话三级优先级)
│ ├── 阅读会话管理(打开/暂停/恢复/关闭,前后台自动切换)
│ ├── 资料详情查看AI 处理状态、文件元数据、阅读进度)
│ └── 触发知识提取解析60×2s 轮询)
├── 学习信息收集
│ ├── 阅读行为采集Rust FFI V2material_opened/closed/position_changed/heartbeat/marked_as_read
│ ├── 专注学习会话(计时器、暂停/继续/结束、庆祝动画)
│ ├── 本地上传队列(事件暂存、去重、崩溃恢复)
│ └── 上传与重试批量上传、网络恢复自动重试、401 暂停)
└── 阅读笔记
├── 创建笔记(自动记录锚点位置)
└── 查看笔记(知识点详情页笔记入口)
```
**当前完成度:** 部分完成
- 已完成文档多格式渲染、阅读位置记录恢复、阅读会话管理、阅读行为采集Rust FFI V2 + 上传队列)、阅读笔记
- 暂未确认:专注学习会话的 API 持久化LearningSessionView 本地计时完成,服务端保存待确认)
- 待优化:解析触发使用硬编码 60×2s 轮询
---
## 4. AI 学习辅助
**能力说明:** AI 作为学习伙伴,通过对话、主动回忆、分析反馈等方式辅助用户学习。
```
AI 学习辅助
├── AI 对话
│ ├── 发送学习问题(流式接收 AI 回复)
│ ├── 查看 AI 思考过程(可折叠,含流式动画)
│ ├── 复制/重新生成 AI 回复
│ ├── 多会话管理(新建、切换、搜索、删除、归档、置顶)
│ └── 对话范围限定(知识库/资料/全局)
└── 主动回忆与 AI 反馈
├── 主动回忆(文字作答、语音作答占位)
├── 每日思考(查看思考题、提交回答)
├── 回忆测试(代码存在但无导航入口)
├── AI 分析反馈(评分、答对/答错拆解、参考答案、加入待巩固)
└── 薄弱知识点展示(掌握度分数、优先级标签)
```
**当前完成度:** 部分完成
- 已完成AI 对话全部功能(流式对话、思考过程、会话管理、范围限定)
- 占位实现主动回忆硬编码问题、AI 反馈(得分 78/100 硬编码)、每日思考(硬编码题目)、薄弱知识点(硬编码数据)、回忆测试(无入口 + 硬编码)
---
## 5. 测验与复习
**能力说明:** 通过 AI 生成测验和基于间隔重复的复习,帮助用户巩固知识。
```
测验与复习
├── 题目与测验
│ ├── AI 生成测验(基于知识库内容)
│ ├── 测验作答(选择题/判断题/填空题)
│ ├── 测验结果(得分、逐题详情与解析)
│ └── 重新测验
└── 间隔复习
├── 闪卡翻转(正面问题 → 反面答案)
├── 自评掌握度(四个等级)
└── 完成庆祝
```
**当前完成度:** 测验已完成;间隔复习为占位实现
- 已完成:测验生成、作答(三种题型)、结果展示、重新测验
- 占位实现:间隔复习(硬编码卡片,未接通 API
-ReviewViewModel 和 ReviewPlanViewModel 代码已就绪,但未与 View 连接
---
## 6. 学习结果与分析
**能力说明:** 展示学习数据分析结果,并提供智能的下一步学习推荐。
```
学习结果与分析
├── 学习分析
│ ├── 统计徽章(掌握度/总分钟/复习卡片/活跃天/阅读统计)
│ ├── 趋势图表(掌握度趋势、阅读时长趋势、每周活跃)
│ ├── 连续学习统计(当前连续/最长连续/最后活跃)
│ ├── 学习记录列表(最近 5 条)
│ ├── AI 综合分析(文字摘要)
│ └── 学习推荐(优先级标签)
└── 继续学习
└── 优先级算法(继续学习 > 未完成会话 > 今日复习 > 自我测试 > 开始学习 > 空状态引导)
```
**当前完成度:** 部分完成
- 已完成统计徽章、阅读时长趋势图、连续统计、学习记录、学习推荐、继续学习算法、AI 综合分析文字
- 占位实现:掌握度趋势折线图(硬编码数据)、每周活跃柱状图(硬编码数据)
---
## 7. 消息与设置
**能力说明:** 管理应用全局设置、通知偏好和系统通知查看。
```
消息与设置
├── 设置与应用偏好
│ ├── 外观切换(深色/浅色/跟随系统,即时生效 API 保存)
│ ├── 复习提醒设置(提醒时间 + 间隔天数)
│ ├── 通知开关(复习提醒/导入完成/系统通知)
│ ├── 存储空间展示
│ ├── iCloud 同步开关(待确认)
│ └── 退出登录
├── 消息与通知
│ ├── 通知列表(按日期分组:今天/本周/更早)
│ ├── 标记已读(单条 + 全部)
│ └── 按类型显示图标颜色10+ 种类型)
└── 学习偏好配置
├── 学习目标设置4 选 1API 保存)
├── 每日学习时长4 选 1仅本地 @State不持久化
└── 学习方法偏好多选API 保存)
```
**当前完成度:** 部分完成
- 已完成:外观切换、复习提醒设置、通知列表与已读标记、学习目标保存、方法偏好保存、退出登录
- 存在 bug三个通知开关绑定到同一状态变量
- 待确认iCloud 同步实际后端能力
- 部分完成:每日学习时长不持久化
---
## 8. 合规与支持
**能力说明:** 用户反馈提交和合规相关页面入口。
```
合规与支持
├── 帮助与反馈
│ ├── 选择反馈类型Bug/建议/内容/其他)
│ ├── 输入反馈内容
│ └── 提交反馈
├── 隐私政策(入口未接入)
└── 用户协议(入口未接入)
```
**当前完成度:** 部分完成
- 已完成:帮助与反馈
- 未完成:隐私政策页面、用户协议页面
---
## 业务能力汇总表
| 序号 | 业务领域 | 业务能力数 | 完成度 | 关键缺失 |
|------|---------|-----------|--------|---------|
| 1 | 账号与用户 | 4 | 部分完成 | 设备管理无入口、账号注销无入口、合规页面未接入 |
| 2 | 内容获取与管理 | 4 | 部分完成 | 搜索逻辑、官方库筛选、KB管理页、收藏API、重命名、移动到文件夹 |
| 3 | 学习执行 | 3 | 部分完成 | LearningSessionView API持久化暂未确认 |
| 4 | AI 学习辅助 | 2 | 部分完成 | 主动回忆与AI反馈全部硬编码 |
| 5 | 测验与复习 | 2 | 部分完成 | 间隔复习硬编码未接API |
| 6 | 学习结果与分析 | 2 | 部分完成 | 图表数据为占位实现 |
| 7 | 消息与设置 | 3 | 部分完成 | 通知开关bug、合规入口缺失、每日时长不持久化 |
| 8 | 合规与支持 | 1(+2) | 部分完成 | 隐私政策、用户协议入口未接入 |
---
> **阶段划分说明:** 本能力树为 C 端视角。跨项目的完整能力展开仅对"文档阅读"和"学习信息收集"两个能力进行了试点分析(见 capabilities/ 目录)。