diff --git a/AIStudyApp/README.md b/AIStudyApp/README.md index e43acf7..eca152a 100644 --- a/AIStudyApp/README.md +++ b/AIStudyApp/README.md @@ -49,17 +49,27 @@ GoalSetup(学习目标 / 方法 / 时间) | 8 | StudyHome 学习工作台 | `Features/Study/StudyHomeView.swift` | ✅ | | 9 | AnalysisHome 学习分析 | `Features/Analysis/AnalysisHomeView.swift` | ✅ | | 10 | Profile 我的 | `Features/Profile/ProfileView.swift` | ✅ | -| 11 | AIChat AI 对话 | `Features/AI/DailyThinkingPage.swift` → `AIChatPage` | ✅ | -| 14 | DailyThinking 今日思考 | `Features/AI/DailyThinkingPage.swift` | ✅ | -| 13 | RecallTest 回忆测试 | `Features/AI/DailyThinkingPage.swift` → `RecallTestPage` | ✅ | -| 16 | WeakPoints 薄弱点分析 | `Features/AI/DailyThinkingPage.swift` → `WeakPointsPage` | ✅ | -| 15 | AIFeedback AI 反馈 | `Features/AI/DailyThinkingPage.swift` → `AIFeedbackPageView` | ✅ | -| 18 | CreateLibrary 创建知识库 | `Features/Library/LibrarySubpages.swift` | ✅ | -| 19 | LibraryDetail 知识库详情 | `Features/Library/LibrarySubpages.swift` | ✅ | -| 20 | AddKnowledge 添加知识点 | `Features/Library/LibrarySubpages.swift` | ✅ | -| 21 | Import 导入资料 | `Features/Library/LibrarySubpages.swift` | ✅ | -| 22 | KnowledgeDetail 知识点详情 | `Features/Library/LibrarySubpages.swift` | ✅ | -| 23 | EditKnowledge 编辑知识点 | `Features/Library/LibrarySubpages.swift` | ✅ | +| 11 | AIChat AI 对话 | `Features/AI/AIChatPage.swift` | ✅ | +| 12 | DailyThinking 今日思考 | `Features/AI/DailyThinkingPage.swift` | ✅ | +| 13 | RecallTest 回忆测试 | `Features/AI/RecallTestPage.swift` | ✅ | +| 14 | WeakPoints 薄弱点分析 | `Features/AI/WeakPointsPage.swift` | ✅ | +| 15 | AIFeedback AI 反馈 | `Features/AI/AIFeedbackPageView.swift` | ✅ | +| 16 | Settings 设置 | `Features/Profile/SettingsView.swift` | ✅ | +| 17 | GoalSetting 学习目标 | `Features/Profile/GoalSettingDetailView.swift` | ✅ | +| 18 | MethodPreference 方法偏好 | `Features/Profile/MethodPreferenceView.swift` | ✅ | +| 19 | FeedbackForm 帮助反馈 | `Features/Profile/FeedbackFormView.swift` | ✅ | +| 20 | EditProfile 编辑资料 | `Features/Profile/ProfileView.swift` → `EditProfilePage` | ✅ | +| 21 | NotificationList 通知 | `Features/Profile/ProfileView.swift` → `NotificationListView` | ✅ | +| 22 | LibrarySearch 搜索知识库 | `Features/Library/LibraryHomeView.swift` | ✅ | +| 23 | LibraryDetail 知识库详情 | `Features/Library/LibrarySubpages.swift` | ✅ | +| 24 | AddKnowledge 添加知识点 | `Features/Library/LibrarySubpages.swift` | ✅ | +| 25 | KnowledgeDetail 知识点详情 | `Features/Library/LibrarySubpages.swift` | ✅ | +| 26 | EditKnowledge 编辑知识点 | `Features/Library/LibrarySubpages.swift` | ✅ | +| 27 | CreateLibrary 创建知识库 | `Features/Library/LibrarySubpages.swift` | ✅ | +| 28 | Import 导入资料 | `Features/Library/LibrarySubpages.swift` | ✅ | +| 29 | ActiveRecall 回忆测试 | `Features/Study/StudyHomeView.swift` → `ActiveRecallView` | ✅ | +| 30 | ReviewCard 间隔复习 | `Features/Study/ReviewCardView.swift` | ✅ | +| 31 | LearningSession 学习会话 | `Features/Study/LearningSessionView.swift` | ✅ | ## 项目结构 @@ -68,21 +78,36 @@ AIStudyApp/ ├── AIStudyAppApp.swift # 根路由 + Splash/Welcome/Login/Onboarding/GoalSetup ├── ContentView.swift # 5-Tab 主界面 + ZXTabBar + ZXIconBtn + ZXScoreBox + ZXAIInputBar ├── Core/ -│ └── DesignSystem/ -│ └── DesignTokens.swift # 颜色 / 渐变 / 圆角 / 间距 / 字号 +│ ├── DesignSystem/ +│ │ ├── DesignTokens.swift # 颜色 / 渐变 / 圆角 / 间距 / 字号 / zxFontScaled +│ │ └── ZXAnimations.swift # ZXPressModifier / ZXPullToRefresh / ZXLoadingView +│ ├── Models/ +│ │ └── APIModels.swift # KnowledgeItem 等数据模型 +│ └── Navigation/ +│ └── Route.swift # 统一路由枚举 + navigationDestination 映射 └── Features/ ├── AI/ - │ ├── AIHomeView.swift # AI 首页 - │ └── DailyThinkingPage.swift # 今日思考 / AI 对话 / 回忆测试 / 薄弱点 / AI 反馈 + │ ├── AIHomeView.swift # AI 首页 + │ ├── DailyThinkingPage.swift # 今日思考 + │ ├── AIChatPage.swift # AI 对话 + │ ├── RecallTestPage.swift # 回忆测试 + │ ├── WeakPointsPage.swift # 薄弱点分析 + │ └── AIFeedbackPageView.swift # AI 反馈 ├── Library/ - │ ├── LibraryHomeView.swift # 知识库首页 - │ └── LibrarySubpages.swift # 创建 / 详情 / 添加 / 导入 / 知识点详情 / 编辑 + │ ├── LibraryHomeView.swift # 知识库首页 + 搜索 + │ └── LibrarySubpages.swift # 创建/详情/添加/导入/知识点详情/编辑 ├── Study/ - │ └── StudyHomeView.swift # 学习工作台 + │ ├── StudyHomeView.swift # 学习工作台 + │ ├── ReviewCardView.swift # 间隔复习卡片 + │ └── LearningSessionView.swift # 学习会话 ├── Analysis/ - │ └── AnalysisHomeView.swift # 学习分析 + │ └── AnalysisHomeView.swift # 学习分析 └── Profile/ - └── ProfileView.swift # 我的页 + ├── ProfileView.swift # 我的页 + EditProfilePage + NotificationListView + ├── SettingsView.swift # 设置 + ├── GoalSettingDetailView.swift # 学习目标设置 + ├── MethodPreferenceView.swift # 学习方法偏好 + └── FeedbackFormView.swift # 帮助与反馈 ``` ## 设计系统 @@ -110,3 +135,16 @@ Xcode 打开 `AIStudyApp.xcodeproj`,选择 iPhone 17 Pro 模拟器,`Cmd+R` Clean Build 之前先: rm -rf ~/Library/Developer/Xcode/DerivedData/AIStudyApp-* ``` + +## 最近修复记录 + +### 2026-05-19 — NavigationStack 迁移 + Dynamic Type + +- **路由系统重构**:全部 `NavigationLink(destination:)` → `NavigationLink(value: Route)`,新增 `Core/Navigation/Route.swift` 统一路由枚举 +- **Dynamic Type 支持**:新增 `zxFontScaled` ViewModifier,基于 `@ScaledMetric` +- **手势冲突修复**:`ZXPressModifier` 从 `DragGesture` 改为 `onLongPressGesture(minimumDuration: .infinity)` 解决与 ScrollView 冲突 +- **触控目标放大**:`ZXIconBtn` 36pt → 44pt +- **大文件拆分**:从 `DailyThinkingPage.swift` 拆出 4 个子页面,从 `SettingsView.swift` 拆出 3 个子页面 +- **TabBar 胶囊指示器**:选中 Tab 上方紫色 Capsule 替代旧圆形指示器 +- **ZXSTask 颜色模型**:`Color` → hex `String`,支持 Hashable 路由参数 +- **ZXAIInputBar 重构**:提取为共享组件,padding 由调用方控制