This commit is contained in:
ChuXun
2025-10-19 20:28:31 +08:00
parent c81f8a8b03
commit eaab9a762a
100 changed files with 23416 additions and 0 deletions

373
README.md Normal file
View File

@@ -0,0 +1,373 @@
# 🎓 知芽小筑
一款功能完善的微信小程序为大学生提供课程管理、学习数据分析、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日