7.8 KiB
7.8 KiB
🎓 知芽小筑
一款功能完善的微信小程序,为大学生提供课程管理、学习数据分析、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对话功能
- 微信云服务:数据存储(可选)
🗂️ 数据存储结构
核心存储键
// 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
// 在 onShow() 中
learningTracker.onPageShow('pageName');
// 在 onHide() 中
learningTracker.onHide();
已集成页面(12个):
- ✅ index, courses, course-detail, schedule
- ✅ forum, forum-detail, post, gpa
- ✅ countdown, tools, my, dashboard
2. GPA自动计算与预测
流程:
- 用户在 GPA页面 录入课程成绩
- 存储到
gpaCourses - dashboard页面 自动读取
- 按学期分组计算平均GPA
- 使用多项式回归预测下学期
算法:utils/gpaPredictor.js
- 数据清洗
- 学期分组
- 加权平均计算
- 多项式回归
- 预测与置信度评估
3. AI对话流式响应
技术实现:
// 流式读取API响应
const reader = res.data.getReader();
while (true) {
const { done, value } = await reader.read();
if (done) break;
// 解析SSE格式
// 实时更新界面
// 显示打字效果
}
📊 数据可视化
Canvas图表绘制
支持的图表类型:
- 雷达图 - 学习能力6维评估
- 折线图 - GPA趋势与预测
- 饼图 - 时间分配占比
- 柱状图 - 成绩对比分析
技术特点:
- 高分辨率适配(pixelRatio)
- 响应式尺寸
- 平滑动画
- 彩色图例
- 数据标注
🎯 特色亮点
1. 企业级设计系统
- 统一的颜色主题(紫色渐变)
- 完整的动画库
- 组件化样式
- 响应式布局
2. 智能数据分析
- 自动追踪学习时间
- GPA趋势预测
- 学习画像生成
- 多维度数据可视化
3. AI助手集成
- DeepSeek大模型
- 流式对话体验
- 对话历史管理
- 智能学习建议
4. 完善的功能生态
- 课程管理
- 论坛交流
- GPA计算
- 倒计时提醒
- 数据分析
- AI助手
📈 代码统计
- 总代码量:约 15,000+ 行
- 页面数量:12个主要页面
- 组件数量:2个通用组件
- 工具函数:9个核心工具文件
- 样式文件:6个主题样式
🔧 开发与维护
环境要求
- 微信开发者工具
- Node.js(可选,用于工具链)
本地运行
- 打开微信开发者工具
- 导入项目文件夹
- 配置 AppID
- 点击编译运行
数据初始化
- 首次启动自动初始化示例数据
- 存储键:
demo_data_initialized - 可通过控制台手动初始化
📝 文档清单
- ✅
学习数据功能说明.md- 数据可视化详解 - ✅
学习活跃度删除记录.md- 功能删除记录 - ✅
如何直接添加持久化存储数据.md- 数据管理指南 - ✅
课表功能优化说明.md- 课表功能文档 - ✅
课表使用指南.md- 用户使用指南 - ✅
个人中心功能测试指南.md- 测试文档 - ✅
论坛收藏功能说明.md- 论坛功能文档
🎓 项目亮点(适合答辩)
技术创新
- 自动化数据追踪系统 - 零侵入式学习时间记录
- GPA智能预测算法 - 多项式回归+趋势分析
- AI对话流式响应 - 打字效果+实时交互
- Canvas高质量图表 - 4种图表类型+响应式
功能完整性
- 12个功能页面 - 覆盖学习全流程
- 企业级设计 - 统一视觉规范
- 数据持久化 - 完整的存储方案
- 性能优化 - 懒加载+缓存策略
用户体验
- 直观的数据可视化 - 一目了然的学习状态
- 智能的AI助手 - 随时解答学习问题
- 便捷的工具集合 - GPA、课表、倒计时
- 社交论坛功能 - 学习交流互动
项目完整、功能丰富、技术先进! 🎉
📄 License
MIT License
👨💻 开发者
GitHub: ChuXunYu/program
最后更新:2025年10月14日