374 lines
7.8 KiB
Markdown
374 lines
7.8 KiB
Markdown
# 🎓 知芽小筑
|
||
|
||
一款功能完善的微信小程序,为大学生提供课程管理、学习数据分析、AI助手等核心功能。
|
||
|
||
---
|
||
|
||
## 📱 核心功能模块
|
||
|
||
### 1. 🏠 首页(index)
|
||
- 快速入口导航
|
||
- 今日课程预览
|
||
- 重要倒计时提醒
|
||
- 学习数据概览
|
||
|
||
### 2. 📚 课程管理(courses)
|
||
- 课程列表展示
|
||
- 分类浏览(全部/进行中/已结束)
|
||
- 课程详情查看
|
||
- 课程资料管理
|
||
|
||
### 3. 📅 课程表(schedule)
|
||
- 周视图课表
|
||
- 当前时间定位
|
||
- 课程详情快速查看
|
||
- 空闲时间显示
|
||
|
||
### 4. 💬 论坛(forum)
|
||
- 帖子浏览
|
||
- 发帖功能
|
||
- 点赞评论
|
||
- 收藏功能
|
||
- 话题分类
|
||
|
||
### 5. 🎯 GPA计算器(gpa)
|
||
- 成绩录入
|
||
- 学分管理
|
||
- 加权平均绩点计算
|
||
- 学期分组统计
|
||
|
||
### 6. ⏱️ 倒计时(countdown)
|
||
- 重要事件提醒
|
||
- 考试倒计时
|
||
- 自定义事件添加
|
||
- 天数自动计算
|
||
|
||
### 7. 🛠️ 工具箱(tools)
|
||
- 实用工具集合
|
||
- 快捷功能入口
|
||
|
||
### 8. 🤖 AI助手(启思AI)
|
||
- 智能对话
|
||
- 学习问题解答
|
||
- DeepSeek API集成
|
||
- 对话历史记录
|
||
- 实时流式响应
|
||
|
||
### 9. 📊 学习数据(dashboard)
|
||
**4大数据可视化功能**:
|
||
|
||
#### 9.1 学习能力画像(雷达图)
|
||
- 6维度综合评估
|
||
- 专注度、活跃度、学习时长等
|
||
- Canvas 高质量绘制
|
||
|
||
#### 9.2 GPA趋势预测(折线图)
|
||
- 历史成绩趋势展示
|
||
- 多项式回归预测
|
||
- 智能预测下学期GPA
|
||
- 趋势分析(上升/下降)
|
||
|
||
#### 9.3 时间分配(饼图)
|
||
- 各模块使用时长统计
|
||
- 课程、论坛、工具、AI助手
|
||
- 自动计算占比
|
||
- 彩色可视化
|
||
|
||
#### 9.4 成绩对比(柱状图)
|
||
- 个人 vs 班级平均
|
||
- 超过平均课程数统计
|
||
- 班级排名展示
|
||
|
||
### 10. 👤 个人中心(my)
|
||
- 个人信息展示
|
||
- 功能设置
|
||
- 数据统计
|
||
- 系统设置
|
||
|
||
---
|
||
|
||
## 🎨 技术特色
|
||
|
||
### UI/UX设计
|
||
- **企业级视觉设计**:紫色渐变主题
|
||
- **动画效果**:平滑过渡、加载动画
|
||
- **响应式布局**:适配不同屏幕尺寸
|
||
- **组件化开发**:loading、empty等通用组件
|
||
|
||
### 数据管理
|
||
- **持久化存储**:wx.storage API
|
||
- **自动数据追踪**:learningTracker系统
|
||
- **实时数据同步**:12个页面集成
|
||
- **智能数据分析**:GPA预测、趋势分析
|
||
|
||
### 性能优化
|
||
- **懒加载**:图表延迟渲染
|
||
- **数据缓存**:减少重复计算
|
||
- **异步处理**:流式响应
|
||
- **错误处理**:友好的空数据提示
|
||
|
||
---
|
||
|
||
## 📦 技术栈
|
||
|
||
### 前端框架
|
||
- **微信小程序原生框架**
|
||
- **Canvas API**:图表绘制
|
||
- **WXSS**:样式设计
|
||
|
||
### 核心工具库
|
||
- `utils/learningTracker.js` - 学习时间自动追踪
|
||
- `utils/gpaPredictor.js` - GPA预测算法
|
||
- `utils/util.js` - 通用工具函数
|
||
- `utils/storage.js` - 数据存储管理
|
||
- `utils/request.js` - 网络请求封装
|
||
- `utils/logger.js` - 日志系统
|
||
- `utils/analytics.js` - 数据分析
|
||
- `utils/performance.js` - 性能监控
|
||
|
||
### 第三方服务
|
||
- **DeepSeek API**:AI对话功能
|
||
- **微信云服务**:数据存储(可选)
|
||
|
||
---
|
||
|
||
## 🗂️ 数据存储结构
|
||
|
||
### 核心存储键
|
||
|
||
```javascript
|
||
// GPA课程成绩
|
||
'gpaCourses': [
|
||
{ id, name, score, credit, semester }
|
||
]
|
||
|
||
// 学习数据
|
||
'learning_data': {
|
||
totalDays: 30,
|
||
totalHours: 85.5,
|
||
dailyRecords: []
|
||
}
|
||
|
||
// 模块使用时长(自动记录)
|
||
'module_usage': {
|
||
course: 28.5, // 小时
|
||
forum: 22.3,
|
||
tools: 25.7,
|
||
ai: 9.0
|
||
}
|
||
|
||
// 学习画像(自动记录)
|
||
'learning_profile': {
|
||
focus: 85, // 专注度
|
||
activity: 90, // 活跃度
|
||
duration: 75, // 学习时长
|
||
breadth: 88, // 知识广度
|
||
interaction: 72,// 互动性
|
||
persistence: 95 // 坚持度
|
||
}
|
||
|
||
// 课表数据
|
||
'schedule': [
|
||
{ id, name, time, location, teacher, weeks, dayOfWeek }
|
||
]
|
||
|
||
// 倒计时事件
|
||
'countdowns': [
|
||
{ id, name, targetDate, description, color }
|
||
]
|
||
|
||
// 论坛收藏
|
||
'favoriteForumIds': [id1, id2, ...]
|
||
|
||
// AI对话历史
|
||
'ai_chat_history': [
|
||
{ role: 'user', content: '...', timestamp: ... },
|
||
{ role: 'assistant', content: '...', timestamp: ... }
|
||
]
|
||
```
|
||
|
||
---
|
||
|
||
## 🚀 核心功能实现
|
||
|
||
### 1. 学习时间自动追踪
|
||
|
||
**原理**:每个页面集成 `learningTracker`
|
||
|
||
```javascript
|
||
// 在 onShow() 中
|
||
learningTracker.onPageShow('pageName');
|
||
|
||
// 在 onHide() 中
|
||
learningTracker.onHide();
|
||
```
|
||
|
||
**已集成页面**(12个):
|
||
- ✅ index, courses, course-detail, schedule
|
||
- ✅ forum, forum-detail, post, gpa
|
||
- ✅ countdown, tools, my, dashboard
|
||
|
||
### 2. GPA自动计算与预测
|
||
|
||
**流程**:
|
||
1. 用户在 GPA页面 录入课程成绩
|
||
2. 存储到 `gpaCourses`
|
||
3. dashboard页面 自动读取
|
||
4. 按学期分组计算平均GPA
|
||
5. 使用多项式回归预测下学期
|
||
|
||
**算法**:`utils/gpaPredictor.js`
|
||
- 数据清洗
|
||
- 学期分组
|
||
- 加权平均计算
|
||
- 多项式回归
|
||
- 预测与置信度评估
|
||
|
||
### 3. AI对话流式响应
|
||
|
||
**技术实现**:
|
||
```javascript
|
||
// 流式读取API响应
|
||
const reader = res.data.getReader();
|
||
while (true) {
|
||
const { done, value } = await reader.read();
|
||
if (done) break;
|
||
|
||
// 解析SSE格式
|
||
// 实时更新界面
|
||
// 显示打字效果
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 数据可视化
|
||
|
||
### Canvas图表绘制
|
||
|
||
**支持的图表类型**:
|
||
1. **雷达图** - 学习能力6维评估
|
||
2. **折线图** - GPA趋势与预测
|
||
3. **饼图** - 时间分配占比
|
||
4. **柱状图** - 成绩对比分析
|
||
|
||
**技术特点**:
|
||
- 高分辨率适配(pixelRatio)
|
||
- 响应式尺寸
|
||
- 平滑动画
|
||
- 彩色图例
|
||
- 数据标注
|
||
|
||
---
|
||
|
||
## 🎯 特色亮点
|
||
|
||
### 1. 企业级设计系统
|
||
- 统一的颜色主题(紫色渐变)
|
||
- 完整的动画库
|
||
- 组件化样式
|
||
- 响应式布局
|
||
|
||
### 2. 智能数据分析
|
||
- 自动追踪学习时间
|
||
- GPA趋势预测
|
||
- 学习画像生成
|
||
- 多维度数据可视化
|
||
|
||
### 3. AI助手集成
|
||
- DeepSeek大模型
|
||
- 流式对话体验
|
||
- 对话历史管理
|
||
- 智能学习建议
|
||
|
||
### 4. 完善的功能生态
|
||
- 课程管理
|
||
- 论坛交流
|
||
- GPA计算
|
||
- 倒计时提醒
|
||
- 数据分析
|
||
- AI助手
|
||
|
||
---
|
||
|
||
## 📈 代码统计
|
||
|
||
- **总代码量**:约 15,000+ 行
|
||
- **页面数量**:12个主要页面
|
||
- **组件数量**:2个通用组件
|
||
- **工具函数**:9个核心工具文件
|
||
- **样式文件**:6个主题样式
|
||
|
||
---
|
||
|
||
## 🔧 开发与维护
|
||
|
||
### 环境要求
|
||
- 微信开发者工具
|
||
- Node.js(可选,用于工具链)
|
||
|
||
### 本地运行
|
||
1. 打开微信开发者工具
|
||
2. 导入项目文件夹
|
||
3. 配置 AppID
|
||
4. 点击编译运行
|
||
|
||
### 数据初始化
|
||
- 首次启动自动初始化示例数据
|
||
- 存储键:`demo_data_initialized`
|
||
- 可通过控制台手动初始化
|
||
|
||
---
|
||
|
||
## 📝 文档清单
|
||
|
||
- ✅ `学习数据功能说明.md` - 数据可视化详解
|
||
- ✅ `学习活跃度删除记录.md` - 功能删除记录
|
||
- ✅ `如何直接添加持久化存储数据.md` - 数据管理指南
|
||
- ✅ `课表功能优化说明.md` - 课表功能文档
|
||
- ✅ `课表使用指南.md` - 用户使用指南
|
||
- ✅ `个人中心功能测试指南.md` - 测试文档
|
||
- ✅ `论坛收藏功能说明.md` - 论坛功能文档
|
||
|
||
---
|
||
|
||
## 🎓 项目亮点(适合答辩)
|
||
|
||
### 技术创新
|
||
1. **自动化数据追踪系统** - 零侵入式学习时间记录
|
||
2. **GPA智能预测算法** - 多项式回归+趋势分析
|
||
3. **AI对话流式响应** - 打字效果+实时交互
|
||
4. **Canvas高质量图表** - 4种图表类型+响应式
|
||
|
||
### 功能完整性
|
||
1. **12个功能页面** - 覆盖学习全流程
|
||
2. **企业级设计** - 统一视觉规范
|
||
3. **数据持久化** - 完整的存储方案
|
||
4. **性能优化** - 懒加载+缓存策略
|
||
|
||
### 用户体验
|
||
1. **直观的数据可视化** - 一目了然的学习状态
|
||
2. **智能的AI助手** - 随时解答学习问题
|
||
3. **便捷的工具集合** - GPA、课表、倒计时
|
||
4. **社交论坛功能** - 学习交流互动
|
||
|
||
---
|
||
|
||
**项目完整、功能丰富、技术先进!** 🎉
|
||
|
||
---
|
||
|
||
## 📄 License
|
||
|
||
MIT License
|
||
|
||
---
|
||
|
||
## 👨💻 开发者
|
||
|
||
GitHub: [ChuXunYu/program](https://github.com/ChuXunYu/program)
|
||
|
||
---
|
||
|
||
**最后更新**:2025年10月14日
|