Files
ZhiQiXiaoYuan/README.md
ChuXun eaab9a762a 1
2025-10-19 20:28:31 +08:00

374 lines
7.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🎓 知芽小筑
一款功能完善的微信小程序为大学生提供课程管理、学习数据分析、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日