docs: 更新总待完成清单 — iOS P2 动效/无障碍完成,COS 接入完成
- I12 动效补充 ✅ - I13 无障碍基础适配 ✅ - B16/B17/B19 COS 对象存储接入 ✅ - 移除 iOS CI/CD 项(Apple 项目本地编译发布) - 更新执行顺序建议 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
fe608da385
commit
b55e497161
@ -6,44 +6,61 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 一、后端 API 对接(当前最优先)
|
## 一、后端 API 对接(✅ 已完成 2026-05-17)
|
||||||
|
|
||||||
Auth 已对接。以下页面仍使用静态 Mock 数据,待接后端:
|
所有页面已对接后端 API,包括知识库列表/详情、学习会话、主动回忆、AI 分析、复习计划、学习活跃统计。全局下拉刷新 + 上拉加载更多已接入,Toast 通知系统已就位。
|
||||||
|
|
||||||
| 页面 | 需对接的 API |
|
|
||||||
|------|-------------|
|
|
||||||
| LibraryHomeView | GET /api/knowledge-bases |
|
|
||||||
| LibraryDetailPage | GET /api/knowledge-bases/:id/items |
|
|
||||||
| StudyHomeView | GET /api/learning-sessions |
|
|
||||||
| DailyThinkingPage | POST /api/active-recall/answers |
|
|
||||||
| AIFeedbackPage | GET /api/ai-analysis/:id |
|
|
||||||
| ReviewPlanView | GET /api/reviews/due |
|
|
||||||
| AnalysisHomeView | GET /api/learning-activity/summary |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 二、架构层待推进
|
## 二、架构层(✅ 已完成 2026-05-17)
|
||||||
|
|
||||||
### ViewModel 迁移(部分完成)
|
### ViewModel 迁移(已完成)
|
||||||
|
|
||||||
ReviewPlanViewModel、AIChatViewModel、StudyHomeViewModel 已完成。其余页面仍为 View 内聚状态,待逐步迁移。
|
所有页面的 ViewModel 已就位:
|
||||||
|
- `AIChatViewModel` — AI 对话消息管理
|
||||||
|
- `StudyHomeViewModel` — 学习主页任务/进度计算
|
||||||
|
- `ReviewPlanViewModel` — 复习计划分组管理
|
||||||
|
- `ProfileViewModel` — 用户资料/偏好
|
||||||
|
- `LibraryViewModel` / `LibraryDetailViewModel` — 知识库/知识点分页
|
||||||
|
- `ActivityViewModel` — 分析统计
|
||||||
|
- `StudyViewModel` / `ReviewViewModel` — 学习会话/复习
|
||||||
|
|
||||||
### Repository 层
|
### 本地缓存层(已完成)
|
||||||
|
|
||||||
当需要本地缓存 + 网络切换时再建,当前阶段不紧急。
|
- `FileCache` — JSON 文件缓存(泛型 save/load/remove/clear)
|
||||||
|
- `LocalCache` — 高层缓存服务(缓存优先 + TTL 过期 + 后台刷新)
|
||||||
|
|
||||||
|
### 本地化(已完成)
|
||||||
|
|
||||||
|
`zh-Hans.lproj/Localizable.strings` 含 180+ key,覆盖所有页面文案。添加新语言只需创建对应 `.lproj` 翻译文件。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 三、动效
|
## 三、动效(✅ 已完成 2026-05-17)
|
||||||
|
|
||||||
计划要求(P0):页面过渡、按钮反馈、加载状态、AI 分析中状态、学习完成反馈。当前仅有基础 SwiftUI 隐式动画。
|
计划要求(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 测试。
|
关键按钮添加 `.accessibilityLabel`,确保 Dynamic Type 下布局不破碎,重点页面 VoiceOver 测试。
|
||||||
|
|
||||||
|
已完成内容:
|
||||||
|
- Tab 栏 5 个标签页均添加 `.accessibilityLabel`
|
||||||
|
- 所有关键按钮添加无障碍标签:提交回答、发送消息、暂停/继续/结束学习、复习评分(完全不会/有点难/基本会/很简单)、导航按钮(搜索、通知、设置、创建知识库)、快捷操作、个人资料编辑
|
||||||
|
- 问答卡片添加 `.accessibilityElement(children: .combine)` + `.accessibilityLabel` + `.accessibilityHint`
|
||||||
|
- 复习卡片翻转状态通过 `.accessibilityLabel` 区分问题/答案模式,添加 `.accessibilityAddTraits(.isButton)`
|
||||||
|
- 输入框添加 `.accessibilityLabel`(搜索知识库、AI 学习问题输入框)
|
||||||
|
- 任务行添加完成状态提示
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 五、测试
|
## 五、测试
|
||||||
@ -54,11 +71,9 @@ ReviewPlanViewModel、AIChatViewModel、StudyHomeViewModel 已完成。其余页
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 六、CI/CD
|
## 六、崩溃监控
|
||||||
|
|
||||||
- GitHub Actions / Xcode Cloud 自动构建
|
- Firebase Crashlytics 或 Sentry
|
||||||
- TestFlight 自动分发
|
|
||||||
- 崩溃监控(Firebase Crashlytics 或类似)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -80,8 +95,12 @@ ReviewPlanViewModel、AIChatViewModel、StudyHomeViewModel 已完成。其余页
|
|||||||
## 当前最应该推进
|
## 当前最应该推进
|
||||||
|
|
||||||
```text
|
```text
|
||||||
1. 后端 API 对接(知识库列表 → 学习会话 → 复习 → 学习活跃)
|
1. ✅ 后端 API 对接(已完成)
|
||||||
2. ViewModel 层逐步迁移(不阻塞功能)
|
2. ✅ ViewModel 层迁移(已完成)
|
||||||
3. 动效补充(页面过渡 + AI 分析中状态)
|
3. ✅ 动效补充(页面过渡 + AI 分析中状态)— 已完成
|
||||||
4. 无障碍基础适配
|
4. ✅ 无障碍基础适配 — 已完成
|
||||||
|
5. ✅ 本地缓存接入 ViewModel — 已完成
|
||||||
|
6. 数据埋点 — P3
|
||||||
|
7. 崩溃监控 — P3
|
||||||
|
8. 测试 — P3
|
||||||
```
|
```
|
||||||
|
|||||||
@ -54,12 +54,12 @@
|
|||||||
|
|
||||||
### 🟡 P2 — 存储/文件
|
### 🟡 P2 — 存储/文件
|
||||||
|
|
||||||
| # | 事项 | 说明 | 详见 |
|
| # | 事项 | 说明 | 详见 | 状态 |
|
||||||
|---|------|------|------|
|
|---|------|------|------|------|
|
||||||
| B16 | COS 对象存储接入 | 文件上传/下载/签名 URL | [Redis缓存设计](./api-server/Redis缓存设计.md) |
|
| B16 | COS 对象存储接入 | 文件上传/下载/签名 URL | [Redis缓存设计](./api-server/Redis缓存设计.md) | ✅ |
|
||||||
| B17 | 文件上传完整流程 | POST /api/files/upload-url → COS → complete | [后端开发路线图 P5](./api-server/后端开发路线图.md) |
|
| B17 | 文件上传完整流程 | POST /api/files/upload-url → COS → complete | [后端开发路线图 P5](./api-server/后端开发路线图.md) | ✅ |
|
||||||
| B18 | 文档导入真实解析 | 替换 3 层 setTimeout mock | [潜在问题清单 #24](./潜在问题清单.md) |
|
| B18 | 文档导入真实解析 | 替换 3 层 setTimeout mock | [潜在问题清单 #24](./潜在问题清单.md) | |
|
||||||
| B19 | Storage Service 实现 | 当前只有 getUploadPath + healthCheck,无真正读写 | [潜在问题清单 #25](./潜在问题清单.md) |
|
| B19 | Storage Service 实现 | 当前只有 getUploadPath + healthCheck,无真正读写 | [潜在问题清单 #25](./潜在问题清单.md) | ✅ |
|
||||||
|
|
||||||
### 🟡 P2 — 基础设施补全
|
### 🟡 P2 — 基础设施补全
|
||||||
|
|
||||||
@ -98,29 +98,28 @@
|
|||||||
|
|
||||||
### 🟠 P1 — 架构补全
|
### 🟠 P1 — 架构补全
|
||||||
|
|
||||||
| # | 事项 | 说明 | 详见 |
|
| # | 事项 | 说明 | 详见 | 状态 |
|
||||||
|---|------|------|------|
|
|---|------|------|------|------|
|
||||||
| I8 | ViewModel 层迁移 | 其余页面从 View 内聚状态迁移到 ViewModel | [缺失项 二](./ios-projects/缺失项与待补全方向.md) |
|
| I8 | ViewModel 层迁移 | 其余页面从 View 内聚状态迁移到 ViewModel | [缺失项 二](./ios-projects/缺失项与待补全方向.md) | ✅ |
|
||||||
| I9 | 本地缓存层 | UserDefaults/SwiftData 缓存学习数据,支持离线浏览 | [潜在问题清单 #18](./潜在问题清单.md) |
|
| I9 | 本地缓存层 | UserDefaults/SwiftData 缓存学习数据,支持离线浏览 | [潜在问题清单 #18](./潜在问题清单.md) | ✅ |
|
||||||
| I10 | 测试修复 | 4 个 Test 文件引用的 ViewModel/FileCache 已创建,验证可编译 | [潜在问题清单 #13](./潜在问题清单.md) |
|
| I10 | 测试修复 | 4 个 Test 文件引用的 ViewModel/FileCache 已创建,验证可编译 | [潜在问题清单 #13](./潜在问题清单.md) | ✅ |
|
||||||
| I11 | LocalizedStringKey 接入 | 180+ key 已写好,View 需从硬编码文案切换 | [潜在问题清单 #20](./潜在问题清单.md) |
|
| I11 | LocalizedStringKey 接入 | 180+ key 已写好,View 需从硬编码文案切换 | [潜在问题清单 #20](./潜在问题清单.md) | ✅ |
|
||||||
|
|
||||||
### 🟡 P2 — 体验/动效
|
### 🟡 P2 — 体验/动效
|
||||||
|
|
||||||
| # | 事项 | 说明 | 详见 |
|
| # | 事项 | 说明 | 详见 | 状态 |
|
||||||
|---|------|------|------|
|
|---|------|------|------|------|
|
||||||
| I12 | 动效补充 | 页面过渡、按钮反馈、AI 分析中状态、学习完成反馈 | [缺失项 三](./ios-projects/缺失项与待补全方向.md) |
|
| I12 | 动效补充 | 页面过渡、按钮反馈、AI 分析中状态、学习完成反馈 | [缺失项 三](./ios-projects/缺失项与待补全方向.md) | ✅ |
|
||||||
| I13 | 无障碍基础适配 | accessibilityLabel、Dynamic Type、VoiceOver | [缺失项 四](./ios-projects/缺失项与待补全方向.md) |
|
| I13 | 无障碍基础适配 | accessibilityLabel、Dynamic Type、VoiceOver | [缺失项 四](./ios-projects/缺失项与待补全方向.md) | ✅ |
|
||||||
|
|
||||||
### 🟢 P3 — TestFlight 前
|
### 🟢 P3 — TestFlight 前
|
||||||
|
|
||||||
| # | 事项 | 说明 | 详见 |
|
| # | 事项 | 说明 | 详见 |
|
||||||
|---|------|------|------|
|
|---|------|------|------|
|
||||||
| I14 | 数据埋点 | 产品行为事件追踪(PostHog/Firebase) | [缺失项 八](./ios-projects/缺失项与待补全方向.md) |
|
| I14 | 数据埋点 | 产品行为事件追踪(PostHog/Firebase) | [缺失项 八](./ios-projects/缺失项与待补全方向.md) |
|
||||||
| I15 | CI/CD | GitHub Actions 自动构建 + TestFlight 分发 | [缺失项 六](./ios-projects/缺失项与待补全方向.md) |
|
| I15 | 崩溃监控 | Firebase Crashlytics 或 Sentry | [缺失项 六](./ios-projects/缺失项与待补全方向.md) |
|
||||||
| I16 | 崩溃监控 | Firebase Crashlytics 或 Sentry | [缺失项 六](./ios-projects/缺失项与待补全方向.md) |
|
| I16 | ViewModel/Service 单元测试 | Mock Repository 测试 | [缺失项 五](./ios-projects/缺失项与待补全方向.md) |
|
||||||
| I17 | ViewModel/Service 单元测试 | Mock Repository 测试 | [缺失项 五](./ios-projects/缺失项与待补全方向.md) |
|
| I17 | Tab 结构调整决策 | 保持 5-Tab 或合并为 4-Tab | [缺失项 七](./ios-projects/缺失项与待补全方向.md) |
|
||||||
| I18 | Tab 结构调整决策 | 保持 5-Tab 或合并为 4-Tab | [缺失项 七](./ios-projects/缺失项与待补全方向.md) |
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@ -185,17 +184,17 @@
|
|||||||
B1 → B2 → B3 → B4 → B5 → B6
|
B1 → B2 → B3 → B4 → B5 → B6
|
||||||
CI/CD脱敏 → BullMQ → AI await修复 → 限流注册 → 拦截器注册 → 分页
|
CI/CD脱敏 → BullMQ → AI await修复 → 限流注册 → 拦截器注册 → 分页
|
||||||
|
|
||||||
第 2 批(本月,核心链路):
|
第 2 批(✅ 已完成 2026-05-17):
|
||||||
B7-B11 → B12-B15 → I1-I7 ✅
|
B7-B11 → B12-B15 → I1-I7 ✅ → I8-I11 ✅
|
||||||
AI Workflows → 异步化 → iOS 前后端打通(已打通)
|
AI Workflows → 异步化 → iOS 前后端打通 → iOS 架构补全
|
||||||
|
|
||||||
第 3 批(TestFlight 前):
|
第 3 批(TestFlight 前):
|
||||||
I8-I13 → B16-B22 → S6-S9 → W1-W3
|
✅ I12-I13 → ✅ B16/B17/B19 → B18 → B20-B22 → S6-S9 → W1-W3
|
||||||
iOS ViewModel迁移 → 存储补全 → 验证机制 → 官网修复
|
✅ iOS 动效/无障碍(已完成) → ✅ COS 接入(已完成) → 文档导入解析 → 基础设施补全 → 验证机制 → 官网修复
|
||||||
|
|
||||||
第 4 批(App Store 前):
|
第 4 批(App Store 前):
|
||||||
I14-I18 → S10-S13 → W4-W7
|
I14-I17 → S10-S13 → W4-W7
|
||||||
埋点/CI/CD/测试 → 运营准备 → 官网细节
|
埋点/崩溃监控/测试/Tab决策 → 运营准备 → 官网细节
|
||||||
|
|
||||||
第 5 批(远期):
|
第 5 批(远期):
|
||||||
B23-B26
|
B23-B26
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user