9 Commits

Author SHA1 Message Date
wangdl
a09853ffa9 fix(ios): 全局去掉图标彩色背景块,图标直接显色
- ZXSettingRow / ZXSettingToggleRow 移除 background+clipShape
- ProfileView 通知/设置图标去掉毛玻璃背景
- 全局清理 .background(xxxBG(0.xx)).clipShape() 图案

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 09:33:59 +08:00
wangdl
0b2aafe045 feat(ios): 浅色/深色切换图标 + ZXSettingRow 支持自定义图标
- 新增 icon-sun(太阳)/ icon-moon(月亮)双色图标
- ZXSettingRow 新增 isCustom 参数支持 Asset 图片
- SettingsView 外观行根据当前模式切换图标

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-30 09:27:28 +08:00
wangdl
ab7f772072 feat(ios): IOS-M1-07 设置页分组补全
- 新增「关于知习」分组标题

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-29 19:54:07 +08:00
wangdl
42b60a21ec feat(ios): TabBar 隐藏/出现增加平滑动画
- ContentView 新增 TabBarVisibleKey 环境值 + AnimatedTabBarHide modifier
- TabView 使用 .toolbar(visible/hidden) + .animation 驱动动画
- 子页面 onAppear 隐藏 → onDisappear 出现,带 easeInOut 0.28s
- 替换所有静态 .toolbar(.hidden, for: .tabBar) 为 .animatedTabBarHide()

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 22:16:22 +08:00
wangdl
f288421493 fix(ios): 所有子页面隐藏底部 TabBar
- 17个子页面添加 .toolbar(.hidden, for: .tabBar)
- 包括:知识库详情、创建、编辑、搜索、添加知识点、
  个人资料编辑、设置、反馈、目标、方法偏好、通知、
  AI对话、每日思考、薄弱点、回忆测试、AI反馈、主动回忆、
  复习卡片、学习会话

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 22:12:00 +08:00
a05dd09902 refactor(ios): migrate NavigationLink to value-based routing, add Dynamic Type support, fix gesture conflicts
- Replace all deprecated NavigationLink(destination:) with NavigationLink(value: Route)
- Add Route enum with navigationDestination mapping in new Core/Navigation/
- Extract 7 new sub-page files (AIChatPage, AIFeedbackPageView, RecallTestPage, WeakPointsPage, FeedbackFormView, GoalSettingDetailView, MethodPreferenceView)
- Add @ScaledMetric-based zxFontScaled modifier for Dynamic Type
- Fix ZXPressModifier gesture conflict with ScrollView using onLongPressGesture
- Enlarge touch targets from 36pt to 44pt
- Add accessibility labels to TextField and other controls

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-19 15:21:36 +08:00
89d89e542c feat(ios): P2 动效补充 + 无障碍适配
- 新增 ZXAnimations.swift — ZXButtonStyle/ZXPressModifier/ZXPageTransition/ZXThinkingOverlay/ZXCelebrationView/ZXAIAnalysisProgress
- 新增 ZXLoadingView.swift — 品牌化加载动画/ZXDotLoader/ZXShimmer
- 新增 ZXRefreshableScrollView.swift — 下拉刷新+上拉加载更多
- 新增 ZXToast.swift — 全局 Toast 通知系统
- 新增 FileCache.swift / LocalCache.swift — 本地缓存层
- 新增 AIChatViewModel.swift / StudyHomeViewModel.swift / ReviewPlanViewModel.swift
- 全部关键按钮接入 .zxPressable() 触觉反馈
- AI 分析流程接入 ZXThinkingOverlay + ZXAIAnalysisProgress
- 学习完成/复习完成接入 ZXCelebrationView 庆祝动画
- 全部关键交互元素添加 .accessibilityLabel
- 修复 ProfileViewModel async let 问题、EditProfilePage 保存失败、let _ = Task{} 反模式

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 22:31:24 +08:00
5e19bd740e feat(ios): 鉴权系统完善 + 前后端打通 + 模型对齐 + ViewModel 创建
- 新增 AuthManager (ObservableObject) 集中管理鉴权状态:
  - session 恢复 → token 验证 → 自动刷新
  - 登出自动重定向到登录页
  - NotificationCenter 监听 401 实现全局踢回
- APIClient 新增 401 自动 refresh + 单次重试
- App.swift 重构鉴权门控:
  - 去掉 hasCompletedOnboarding 绕过鉴权漏洞
  - 拆分为 SplashScreen / PreLoginFlow / PostLoginOnboardingFlow / ContentView
  - LoginPage 移除"跳过"按钮
- KeychainHelper 实现 token 安全存储
- APIModels 对齐后端 Prisma schema (UserProfile/KnowledgeBase/ReviewCard 等)
- APIService 简化 AuthService,token 管理迁移至 AuthManager
- 新增 8 个 ViewModel 接入 API:
  ProfileViewModel, LibraryViewModel, StudyViewModel,
  ActiveRecallViewModel, AIAnalysisViewModel, ReviewViewModel, ActivityViewModel
- 新增 EditProfilePage 编辑资料页
- 新增 NotificationListView 通知列表页
- AIHomeView 修复"检测中"卡住 (改用公开 GET / 健康检查)
- SettingsView 登出调用 AuthManager.signOut() 实现重定向
- 修复 NotificationItem 命名冲突、Combine import 缺失等编译错误

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-17 19:06:23 +08:00
a96d6cb159 feat(ios): 补全页面跳转、浅色模式、3个新页面
- 移除 3 处强制深色模式,用 @AppStorage 全局切换
- 设置页「外观」按钮实时切换深色/浅色/跟随系统
- 底部导航栏 inactive 颜色改为自适应 Color.zxF03
- 12 个子页面修复:保留返回按钮 + 消除顶部空白
- 新增 LearningSessionView/ReviewCardView/ActiveRecallView
- 新增 NotificationListView/SettingsView 等子页面
- 补全所有按钮 NavigationLink 跳转(0 个空白 action)
- KnowledgeBase 模型对齐服务器数据
- Info.plist 补充 CFBundleIdentifier + ATS
- 新增缺口分析文档 gap-analysis-1/2.md
2026-05-12 17:08:27 +08:00