startup-plan/技术设计/ios-projects/已完成/[已完成]-缺失项与待补全方向.md
WangDL 07ec422e01 refactor: move completed docs into 已完成 folders
- 后端待完成事项清单 → api-server/已完成/
- iOS 登录集成 → ios-projects/已完成/
- iOS 缺失项与待补全方向 → ios-projects/已完成/
- Update all cross-references in 总待完成清单 + 功能需求清单

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 11:03:35 +08:00

107 lines
4.1 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.

# 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
```