startup-plan/技术设计/ios-projects/已完成/[已完成]-页面规划.md

236 lines
10 KiB
Markdown
Raw Normal View History

# 知习 ZhiXi — 页面清单与功能说明
> 更新时间2026-05-10
## 项目概述
**知习 (ZhiXi)** 是一个 AI-first 系统化学习 iOS App使用 SwiftUI 构建,深色主题。当前已完成 22 个页面的 UI 层实现,覆盖从引导流程到主界面 5 个 Tab 的完整交互链路。
---
## 一、引导流程5 页)
所有引导页面定义在 `AIStudyAppApp.swift``OnboardingFlowView` 中,通过 `@AppStorage("hasCompletedOnboarding")` 控制显示。
### 1. SplashPage — 启动页
- **路由**`OnboardingFlowView` step 0
- **功能**:展示品牌 Logo、App 名称"知习"、副标题"AI-first 系统化学习"底部显示加载进度条2 秒后自动跳转 Welcome
- **视觉**:深色渐变背景 + 紫色/橙色光晕 + 品牌渐变图标
### 2. WelcomePage — 欢迎页
- **路由**`OnboardingFlowView` step 1
- **功能**展示产品三大核心功能主动回忆、费曼解释、AI 分析);提供"开始使用"和"已有账号?立即登录"两个入口
- **UI 组件**`FeatureRow`emoji + 标题 + 描述卡片)
### 3. LoginPage — 登录页
- **路由**`OnboardingFlowView` step 2
- **功能**:支持手机号(+86和邮箱两种登录方式切换密码输入可切换明文/密文;底部提供微信登录和 Apple 登录入口;包含"忘记密码"链接
- **UI 组件**`ZXInputField``SocialLoginBtn`
### 4. OnboardingPage — 功能引导页
- **路由**`OnboardingFlowView` step 3
- **功能**4 步滑动引导(输入知识 → 主动输出 → AI 分析 → 掌握知识),底部进度指示器,支持跳过
- **UI 组件**:步进圆点指示器
### 5. GoalSetupPage — 学习目标设置页
- **路由**`OnboardingFlowView` step 4
- **功能**:设置学习目标(备考考试/职业技能/通识学习/自定义)、选择学习方法(间隔回忆/费曼技巧/AI 分析、选择每日学习时间15 分钟 ~ 不限制)
- **UI 组件**目标选项卡片emoji + 标题 + 描述 + 单选圆点)、方法标签组、时间选择组
---
## 二、主界面 — 5 Tab 结构
`ContentView.swift` 实现底部 5 个 Tab 的导航AI、知识库、学习、分析、我的。
### Tab 栏组件
- **ZXTabBar**:自定义底部 TabBar包含选中态光晕动画、品牌紫色高亮
- **ZXAIInputBar**:复用的 AI 输入栏sparkles 图标 + 输入框 + 麦克风 + 发送按钮)
- **ZXIconBtn**:通用图标按钮(支持 branded 紫色渐变样式)
- **ZXScoreBox**:评分展示组件(分数 + 背景色 + 前景色,根据分数区间变色)
---
### Tab 1AI 助手 — AIHomeView
- **文件**`Features/AI/AIHomeView.swift`
- **功能**
- 今日思考题卡片(展示 AI 生成的思考题,点击进入回答)
- 快捷操作区(生成回忆测试、分析薄弱点、费曼解释练习、今日复习计划)
- 最近 AI 互动列表(费曼复习、薄弱点分析、回忆测试记录,含评分)
- AI 提问建议区(预设问题模板,点击可发送)
- 底部 AI 输入栏
- **子页面**
- `DailyThinkingPage` — 今日思考详情(见下方)
- `RecallTestPage` — 回忆测试
- `WeakPointsPage` — 薄弱点分析
- `AIChatPage` — AI 对话
- **UI 组件**`ZXQuickAction`emoji + 标签)、`ZXAIInteractionRow`(标签 + 标题 + 时间 + 评分)
#### AI 子页面(定义在 `Features/AI/DailyThinkingPage.swift`
| 页面 | 功能 |
|------|------|
| **DailyThinkingPage** | 展示思考题 + 文本输入框,用户写下回答后提交给 AI 评估 |
| **AIChatPage** | AI 对话页面,围绕当前知识库进行学习问答 |
| **RecallTestPage** | 回忆测试:展示题目,用户回忆并写下理解,提交验证 |
| **WeakPointsPage** | 薄弱知识点列表,每个知识点显示掌握分数、所属知识库、优先级 |
| **AIFeedbackPage** | AI 反馈页,展示 AI 对用户回答的评分、优缺点分析、改进建议 |
**共享 UI 组件**`ZXBackHeader` — 带返回按钮、标题、副标题、右侧操作区的通用导航头
---
### Tab 2知识库 — LibraryHomeView
- **文件**`Features/Library/LibraryHomeView.swift`
- **功能**
- 知识库列表(机器学习、高等数学、英语词汇、产品设计等),每个卡片展示 emoji、名称、描述、知识点数量、掌握度百分比、标签、最近学习时间
- 顶部搜索栏
- 右上角搜索和创建按钮
- 创建新知识库入口(虚线边框卡片)
- **UI 组件**`ZLibraryCard`emoji + 名称 + 描述 + 进度条 + 标签 + 统计)
#### 知识库子页面(定义在 `Features/Library/LibrarySubpages.swift`
| 页面 | 功能 |
|------|------|
| **CreateLibraryPage** | 创建新知识库:填写名称、描述 |
| **LibraryDetailPage** | 知识库详情:展示该知识库下所有知识点列表,每个知识点显示标题、描述、掌握状态(已掌握/学习中/待复习) |
| **AddKnowledgePage** | 添加知识点:填写标题、内容 |
| **KnowledgeDetailPage** | 知识点详情:展示完整内容、标签、复习/费曼解释按钮 |
| **ImportPage** | 导入资料 |
| **EditKnowledgePage** | 编辑知识点 |
**知识库卡片组件**`ZXCardRow` — emoji + 标题 + 描述 + 状态标签
---
### Tab 3学习工作台 — StudyHomeView
- **文件**`Features/Study/StudyHomeView.swift`
- **功能**
- 日期和问候语("周四1月16日"
- 连续学习天数徽章(🔥)
- 今日进度卡片:完成任务数/总任务数、进度百分比环形图、进度条、已学时间/剩余时间/掌握积分
- 今日任务列表(机器学习回忆测试、高数间隔复习、英语词汇复习等),每个任务可勾选完成,显示任务类型标签和预计时长
- 本周学习活跃柱状图(周一~周日,高亮当天)
- 总计学习时长和日均统计
- **数据模型**`ZXSTask`(标题、类型、颜色、时长、完成状态)
- **UI 组件**`ZXSTaskRow`(勾选框 + 任务信息 + 类型标签 + 时长 + 播放按钮)
---
### Tab 4学习分析 — AnalysisHomeView
- **文件**`Features/Analysis/AnalysisHomeView.swift`
- **功能**
- 顶部统计卡片行综合掌握度65%+8%、本周积分1,240、待巩固知识点数23、连续学习天数14
- 掌握度趋势折线图(近 7 天数据)
- 薄弱知识点列表(可导航至 WeakPointsPage
- AI 学习建议卡片
- 知识库掌握分布(各知识库掌握度进度条)
- **UI 组件**`ZXStatBadge`(图标 + 标签 + 数值 + 变化趋势)、`ZXChartView``ZXWeakRow`
---
### Tab 5我的 — ProfileView
- **文件**`Features/Profile/ProfileView.swift`
- **功能**
- 顶部导航栏(标题"我的" + 通知铃铛 + 设置齿轮)
- 个人信息卡片头像emoji、昵称"学习者"、邮箱、连续天数/知识点数/积分统计
- 设置菜单:学习目标设置、复习提醒、学习报告、学习方法偏好、数据同步与备份
- 成就展示区(连续 14 天、费曼达人、知识收藏家、速学者)
- **UI 组件**`ZXProfileStat``ZXProfileMenuRow`emoji + 标题 + 描述 + 箭头)、`ZXAchievementBadge`
---
## 三、设计系统
文件:`Core/DesignSystem/DesignTokens.swift`
### 颜色系统
| 类别 | Token | 值 |
|------|-------|-----|
| 主背景 | `Color.zxBg0` | `#0F0F1A` |
| 品牌紫 | `Color.zxPurple` | `#7C6EFA` |
| 品牌橙 | `Color.zxOrange` | `#F97316` |
| 文字主色 | `Color.zxF0` | `#F0F0FF` |
### 渐变系统 (`ZXGradient`)
- `page` — 页面背景渐变
- `brand` — 品牌紫橙渐变
- `brandPurple` — 紫色渐变
- `thinkingCard` — 思考卡片渐变
- `progressCard` — 进度卡片渐变
- `feedbackScore` — 反馈评分渐变
- `profileCard` — 个人信息卡片渐变
- `ctaButton` / `ctaPurple` — CTA 按钮渐变
### 间距系统 (`ZXSpacing`)
- `pageHPadding`: 20
- `statusBarH`: 44
- `tabBarH`: 83
### 尺寸系统 (`ZXSize`)
- 图标按钮: 36, 头像: 36/64/80
- 按钮高度: 42/52/56, 快捷操作: 72
### 排版系统 (`ZXFont`)
- `titleLarge`: 22pt heavy, -0.5 tracking
- `titleMedium`: 20pt heavy, -0.4 tracking
- `sectionTitle`: 15pt bold
- `body`: 13pt semibold
- `bodySmall`: 12pt medium
- `caption`: 10pt bold
---
## 四、页面状态总览
| # | 页面 | Tab | 文件 | 导航方式 | 状态 |
|---|------|-----|------|----------|------|
| 1 | Splash 启动页 | — | AIStudyAppApp.swift | 自动跳转 | ✅ |
| 2 | Welcome 欢迎页 | — | AIStudyAppApp.swift | 按钮跳转 | ✅ |
| 3 | Login 登录页 | — | AIStudyAppApp.swift | 按钮跳转 | ✅ |
| 4 | Onboarding 引导 | — | AIStudyAppApp.swift | 步进/跳过 | ✅ |
| 5 | GoalSetup 目标 | — | AIStudyAppApp.swift | 完成进入主界面 | ✅ |
| 6 | AIHome AI 首页 | AI | AIHomeView.swift | Tab 1 | ✅ |
| 7 | LibraryHome 知识库 | 知识库 | LibraryHomeView.swift | Tab 2 | ✅ |
| 8 | StudyHome 学习 | 学习 | StudyHomeView.swift | Tab 3 | ✅ |
| 9 | AnalysisHome 分析 | 分析 | AnalysisHomeView.swift | Tab 4 | ✅ |
| 10 | Profile 我的 | 我的 | ProfileView.swift | Tab 5 | ✅ |
| 11 | AIChat AI 对话 | AI | DailyThinkingPage.swift | NavigationLink | ✅ |
| 12 | DailyThinking 今日思考 | AI | DailyThinkingPage.swift | NavigationLink | ✅ |
| 13 | RecallTest 回忆测试 | AI | DailyThinkingPage.swift | NavigationLink | ✅ |
| 14 | WeakPoints 薄弱点 | AI | DailyThinkingPage.swift | NavigationLink | ✅ |
| 15 | AIFeedback AI 反馈 | AI | DailyThinkingPage.swift | NavigationLink | ✅ |
| 16 | CreateLibrary 创建知识库 | 知识库 | LibrarySubpages.swift | NavigationLink | ✅ |
| 17 | LibraryDetail 知识库详情 | 知识库 | LibrarySubpages.swift | NavigationLink | ✅ |
| 18 | AddKnowledge 添加知识点 | 知识库 | LibrarySubpages.swift | NavigationLink | ✅ |
| 19 | Import 导入资料 | 知识库 | LibrarySubpages.swift | NavigationLink | ✅ |
| 20 | KnowledgeDetail 知识点详情 | 知识库 | LibrarySubpages.swift | NavigationLink | ✅ |
| 21 | EditKnowledge 编辑知识点 | 知识库 | LibrarySubpages.swift | NavigationLink | ✅ |
---
## 五、当前未实现的功能
以下为产品计划中但当前 iOS 项目尚未实现的能力:
- Sign in with AppleUI 已做,实际认证逻辑未接入)
- 后端 API 对接(当前为纯本地 UI
- 真实 AI 分析(当前为静态展示)
- 数据持久化(无本地存储/云端同步)
- 多语言本地化架构
- Apple IAP 支付
- 推送通知
- 崩溃监控/数据埋点