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