# AIStudyApp 现状与缺口分析 - 第一篇:现有资源盘点 > 生成日期:2026-05-11 > 后端地址:http://81.70.187.179:3001 --- ## 一、项目文件结构 ``` AIStudyApp/ ├── AIStudyAppApp.swift # 应用入口,含 5 步 Onboarding 流程 ├── ContentView.swift # 主 Tab 框架(5 个 Tab + 自定义底部栏) │ ├── Core/ │ ├── DesignSystem/DesignTokens.swift # 颜色/渐变/间距/字体全局设计令牌 │ ├── Models/APIModels.swift # 20+ DTO 数据模型 │ ├── Network/ │ │ ├── APIClient.swift # 通用 HTTP 客户端(actor, async/await) │ │ ├── APIConfig.swift # baseURL 配置 │ │ └── APIError.swift # 错误枚举(网络/服务端/解码/认证) │ └── Services/APIService.swift # 8 个服务类,15 个公开方法 │ ├── Features/ │ ├── AI/ │ │ ├── AIHomeView.swift # AI 首页 + ZXQuickAction + ZXAIInteractionRow 组件 │ │ └── DailyThinkingPage.swift # 每日思考题 + RecallTestPage / WeakPointsPage / │ │ # AIFeedbackPageView / AIChatPage 子页面 │ ├── Analysis/ │ │ └── AnalysisHomeView.swift # 学习分析页 + ZXChartView 折线图 + ZXWeakRow 薄弱点 │ ├── Library/ │ │ ├── LibraryHomeView.swift # 知识库列表首页 │ │ └── LibrarySubpages.swift # CreateLibraryPage / LibraryDetailPage / │ │ # AddKnowledgePage / KnowledgeDetailPage / │ │ # ImportPage / EditKnowledgePage │ ├── Profile/ │ │ └── ProfileView.swift # 个人中心页 │ └── Study/ │ └── StudyHomeView.swift # 学习工作台 + 今日任务 + 周活跃柱状图 │ └── Info.plist # 手动管理(ATS例外 / Bundle元数据等) ``` --- ## 二、5 个 Tab 页面清单 | Tab | 标签 | SF Symbol | View | |-----|------|-----------|------| | 1 | AI | `brain.head.profile` | AIHomeView | | 2 | 知识库 | `books.vertical.fill` | LibraryHomeView | | 3 | 学习 | `bolt.fill` | StudyHomeView | | 4 | 分析 | `chart.bar.fill` | AnalysisHomeView | | 5 | 我的 | `person.fill` | ProfileView | --- ## 三、所有页面/子页面总览(共 21 个) ### AI 模块(1 主 + 4 子) | 页面 | 数据来源 | 核心功能 | |------|---------|---------| | AIHomeView | 🔴硬编码 | API 状态检测、思考题卡片、快捷操作、互动记录、提问输入栏 | | DailyThinkingPage | 🔴硬编码 | AI 思考题展示 + 回答提交 | | RecallTestPage | 🔴硬编码 | 回忆测试输入 | | WeakPointsPage | 🔴硬编码 | 薄弱知识点静态列表 | | AIFeedbackPageView | 🔴硬编码 | AI 反馈评分 + 操作入口 | | AIChatPage | 🔴硬编码 | AI 对话气泡界面 | ### 知识库模块(1 主 + 6 子) | 页面 | 数据来源 | 核心功能 | |------|---------|---------| | LibraryHomeView | 🔴硬编码 | 知识库列表 + 搜索框 + 创建入口 | | CreateLibraryPage | 🔴静态 | 创建表单(名称+描述) | | LibraryDetailPage | 🔴硬编码 | 知识点静态列表 | | AddKnowledgePage | 🔴静态 | 添加知识点表单 | | KnowledgeDetailPage | 🔴硬编码 | 知识点详情+标签+复习/费曼入口 | | ImportPage | 🔴静态 | 导入方式选择(拍照/文件/链接/相册) | | EditKnowledgePage | 🔴静态 | 编辑知识点表单 | ### 学习模块(1 主) | 页面 | 数据来源 | 核心功能 | |------|---------|---------| | StudyHomeView | 🔴硬编码 | 今日进度环、任务列表(5个任务)、本周活跃柱状图 | ### 分析模块(1 主) | 页面 | 数据来源 | 核心功能 | |------|---------|---------| | AnalysisHomeView | 🔴硬编码 | 4项统计徽章、掌握度7日折线图、薄弱知识点列表 | ### 个人中心(1 主) | 页面 | 数据来源 | 核心功能 | |------|---------|---------| | ProfileView | 🔴硬编码 | 个人卡片、菜单列表、成就徽章 | ### 启动流程(5 步 Onboarding) | 步骤 | 页面 | 功能 | |------|------|------| | Step 0 | SplashPage | 品牌开屏,2 秒自动跳转 | | Step 1 | WelcomePage | 3 大功能介绍 | | Step 2 | LoginPage | 手机号/邮箱 + 密码表单 + 微信/Apple 登录入口 | | Step 3 | OnboardingPage | 4 步功能轮播 | | Step 4 | GoalSetupPage | 学习目标/方法/每日时长选择 | --- ## 四、APIService 已封装方法(15 个) | 服务类 | 方法 | 接口 | |--------|------|------| | WaitlistService | `join(...)` | POST /waitlist | | | `stats()` | GET /waitlist/stats | | AuthService | `appleLogin(...)` | POST /auth/apple | | | `logout()` | POST /auth/logout | | UserService | `myProfile()` | GET /users/me | | | `updateProfile(...)` | PATCH /users/me | | KnowledgeBaseService | `list()` | GET /knowledge-bases | | | `create(...)` | POST /knowledge-bases | | | `detail(id:)` | GET /knowledge-bases/:id | | KnowledgeItemService | `list(baseId:)` | GET /knowledge-items | | | `detail(id:)` | GET /knowledge-items/:id | | | `create(...)` | POST /knowledge-items | | AIAnalysisService | `analyze(...)` | POST /ai-analysis | | ActivityService | `summary()` | GET /activity/summary | | ReviewService | `due()` | GET /reviews/due | | FocusItemService | `list()` | GET /focus-items | | FeedbackService | `submit(...)` | POST /feedback | --- ## 五、后端接口 vs App 覆盖对照表 | 后端模块 | 接口数 | App 覆盖 | 状态 | |----------|--------|---------|------| | System | 3 | 0 | ❌ 无 | | Auth | 3 | 2(Service 有,View 未接) | 🔶 | | Users | 3 | 2(Service 有,View 未接) | 🔶 | | KnowledgeBase | 5 | 3(Service 有,View 未接) | 🔶 | | KnowledgeItems | 4 | 3(Service 有,View 未接) | 🔶 | | DocumentImport | 2 | 0 | ❌ 无 | | LearningSession | 3 | 0 | ❌ 无 | | ActiveRecall | 2 | 0 | ❌ 无 | | AIAnalysis | 3 | 1(Service 有,View 未接) | 🔶 | | FocusItems | 4 | 1(Service 有,View 未接) | 🔶 | | Review | 2 | 1(Service 有,View 未接) | 🔶 | | LearningActivity | 2 | 1(Service 有,View 未接) | 🔶 | | Notifications | 2 | 0 | ❌ 无 | | Feedback | 4 | 1(Service 有,View 未接) | 🔶 | | Waitlist | 3 | 2(Service 有,View 未接) | 🔶 | > 覆盖率:Service 层 15/48 = 31%,View 层实际接入 0/48 = 0%