startup-plan/技术设计/ios-projects/已完成/[已完成]-缺失项与待补全方向.md

107 lines
4.1 KiB
Markdown
Raw Normal View History

# iOS 缺失项与待补全方向
> 仅列出当前未完成的项目。已完成内容见 [`已完成/[已完成]-已实现功能汇总.md`](./已完成/[已完成]-已实现功能汇总.md)
>
> 更新时间2026-05-17
---
## 一、后端 API 对接(✅ 已完成 2026-05-17
所有页面已对接后端 API包括知识库列表/详情、学习会话、主动回忆、AI 分析、复习计划、学习活跃统计。全局下拉刷新 + 上拉加载更多已接入Toast 通知系统已就位。
---
## 二、架构层(✅ 已完成 2026-05-17
### ViewModel 迁移(已完成)
所有页面的 ViewModel 已就位:
- `AIChatViewModel` — AI 对话消息管理
- `StudyHomeViewModel` — 学习主页任务/进度计算
- `ReviewPlanViewModel` — 复习计划分组管理
- `ProfileViewModel` — 用户资料/偏好
- `LibraryViewModel` / `LibraryDetailViewModel` — 知识库/知识点分页
- `ActivityViewModel` — 分析统计
- `StudyViewModel` / `ReviewViewModel` — 学习会话/复习
### 本地缓存层(已完成)
- `FileCache` — JSON 文件缓存(泛型 save/load/remove/clear
- `LocalCache` — 高层缓存服务(缓存优先 + TTL 过期 + 后台刷新)
### 本地化(已完成)
`zh-Hans.lproj/Localizable.strings` 含 180+ key覆盖所有页面文案。添加新语言只需创建对应 `.lproj` 翻译文件。
---
## 三、动效(✅ 已完成 2026-05-17
计划要求P0页面过渡、按钮反馈、加载状态、AI 分析中状态、学习完成反馈。
已完成内容:
- `ZXAnimations.swift` — 6 个动效组件:`ZXButtonStyle`(按钮缩放+触觉反馈)、`ZXPressModifier`/`.zxPressable()`(任意视图按压效果)、`ZXPageTransition`(页面滑入+淡入淡出)、`ZXThinkingOverlay`AI 分析全屏叠加层+脑图标光环动画)、`ZXCelebrationView`(五彩纸屑粒子系统+成就卡片)、`ZXAIAnalysisProgress`(分步分析进度条+旋转加载器)
- 所有关键按钮已接入 `.zxPressable()`:提交回答、暂停/继续学习、结束学习、发送消息、任务行、复习评分按钮
- AI 分析流程已接入 `ZXThinkingOverlay` + `ZXAIAnalysisProgress`
- 学习/复习完成已接入 `ZXCelebrationView`
- 页面切换已接入 Tab 过渡动画
---
## 四、无障碍(✅ 已完成 2026-05-17
关键按钮添加 `.accessibilityLabel`,确保 Dynamic Type 下布局不破碎,重点页面 VoiceOver 测试。
已完成内容:
- Tab 栏 5 个标签页均添加 `.accessibilityLabel`
- 所有关键按钮添加无障碍标签:提交回答、发送消息、暂停/继续/结束学习、复习评分(完全不会/有点难/基本会/很简单)、导航按钮(搜索、通知、设置、创建知识库)、快捷操作、个人资料编辑
- 问答卡片添加 `.accessibilityElement(children: .combine)` + `.accessibilityLabel` + `.accessibilityHint`
- 复习卡片翻转状态通过 `.accessibilityLabel` 区分问题/答案模式,添加 `.accessibilityAddTraits(.isButton)`
- 输入框添加 `.accessibilityLabel`搜索知识库、AI 学习问题输入框)
- 任务行添加完成状态提示
---
## 五、测试
- ViewModel 单元测试
- Service 层单元测试Mock Repository
- 关键 UI 流程 Snapshot 测试
---
## 六、崩溃监控
- Firebase Crashlytics 或 Sentry
---
## 七、Tab 结构调整(待决策)
当前 5-TabAI | 知识库 | 学习 | 分析 | 我的),存在 AI/学习边界模糊、分析 Tab 内容单薄等问题。
建议 MVP 阶段保持现状,收集用户反馈后优先尝试"分析并入学习"4 Tab
---
## 八、数据埋点
- 产品行为事件追踪app_opened、knowledge_base_created、active_recall_submitted 等)
- 可先用 PostHog / Firebase
---
## 当前最应该推进
```text
1. ✅ 后端 API 对接(已完成)
2. ✅ ViewModel 层迁移(已完成)
3. ✅ 动效补充(页面过渡 + AI 分析中状态)— 已完成
4. ✅ 无障碍基础适配 — 已完成
5. ✅ 本地缓存接入 ViewModel — 已完成
6. 数据埋点 — P3
7. 崩溃监控 — P3
8. 测试 — P3
```