Skip to content

Latest commit

 

History

History
134 lines (105 loc) · 3.88 KB

File metadata and controls

134 lines (105 loc) · 3.88 KB

StudyPlanner 学习计划工具 - 设计方案

应用概述

StudyPlanner 是一款专注于学习效率的移动应用,帮助用户设定学习目标、将目标拆分为可执行的子任务,并实时追踪学习进度。


品牌色彩

用途 颜色 说明
主色调 #4F6EF7 靛蓝色,传递专注与智慧
背景色(亮) #F8F9FF 极浅蓝白,减少视觉疲劳
背景色(暗) #12131A 深蓝黑,护眼夜间模式
卡片面(亮) #FFFFFF 纯白卡片
卡片面(暗) #1C1E2A 深蓝灰卡片
成功绿 #22C55E 任务完成状态
警告橙 #F59E0B 临近截止日期
错误红 #EF4444 逾期状态

屏幕列表

1. 首页 (Home) — /app/(tabs)/index.tsx

主要内容:

  • 顶部问候语(早/午/晚 + 用户名)
  • 今日学习概览卡片(今日任务数、已完成数、学习时长)
  • 进行中的目标列表(最多显示 3 个,带进度条)
  • 今日待完成任务快速入口

功能:

  • 点击目标卡片 → 进入目标详情
  • 点击"查看全部" → 进入目标列表页
  • 下拉刷新

2. 目标列表 (Goals) — /app/(tabs)/goals.tsx

主要内容:

  • 目标分类标签(全部 / 进行中 / 已完成)
  • 目标卡片列表(标题、截止日期、进度百分比、子任务数)
  • 右下角浮动添加按钮

功能:

  • 点击目标卡片 → 进入目标详情
  • 长按目标卡片 → 快速操作菜单(编辑/删除/标记完成)
  • 点击 "+" → 创建新目标

3. 目标详情 (Goal Detail) — /app/goal/[id].tsx

主要内容:

  • 目标标题、描述、截止日期
  • 整体进度环形图
  • 子任务列表(可勾选完成)
  • 添加子任务输入框

功能:

  • 勾选子任务 → 更新进度
  • 点击子任务 → 编辑子任务详情
  • 点击"添加任务" → 展开输入框
  • 右上角编辑按钮 → 编辑目标信息

4. 创建/编辑目标 (Create/Edit Goal) — /app/goal/create.tsx

主要内容:

  • 目标标题输入
  • 目标描述输入(多行)
  • 截止日期选择器
  • 优先级选择(高/中/低)
  • 智能拆分任务按钮(调用 LLM 自动生成子任务)

功能:

  • 表单验证
  • 智能拆分:输入目标后,AI 自动建议子任务列表
  • 保存目标

5. 统计页 (Stats) — /app/(tabs)/stats.tsx

主要内容:

  • 本周学习概览(完成任务数、学习天数)
  • 每日完成任务柱状图(近 7 天)
  • 目标完成率饼图
  • 学习连续天数(Streak)

功能:

  • 切换时间范围(本周/本月)

6. 设置页 (Settings) — /app/(tabs)/settings.tsx

主要内容:

  • 深色/浅色模式切换
  • 通知设置
  • 数据清除

关键用户流程

流程 1:创建学习目标并拆分任务

  1. 首页 → 点击"目标"Tab → 点击右下角 "+"
  2. 填写目标标题(如"通过 CET-6 考试")
  3. 设置截止日期和优先级
  4. 点击"AI 智能拆分" → AI 生成子任务列表
  5. 确认/编辑子任务 → 保存目标
  6. 返回目标列表,看到新目标卡片

流程 2:追踪每日学习进度

  1. 首页 → 查看今日任务
  2. 点击目标卡片 → 进入目标详情
  3. 勾选已完成的子任务
  4. 进度条实时更新
  5. 所有子任务完成 → 触发庆祝动画 + 触觉反馈

流程 3:查看学习统计

  1. 点击"统计"Tab
  2. 查看本周完成情况
  3. 切换到"本月"查看长期趋势

导航结构

底部 Tab 栏(4 个 Tab):

  • 🏠 首页 (Home)
  • 🎯 目标 (Goals)
  • 📊 统计 (Stats)
  • ⚙️ 设置 (Settings)

组件规划

  • GoalCard — 目标卡片,含进度条
  • TaskItem — 子任务行,含勾选框
  • ProgressRing — 圆形进度指示器
  • StatsChart — 统计图表(使用 react-native-svg)
  • PriorityBadge — 优先级标签
  • EmptyState — 空状态占位图