# learning_incentive **Repository Path**: alexjunqi/learning_incentive ## Basic Information - **Project Name**: learning_incentive - **Description**: 打造一款孩子学习激励App,记录孩子的成功。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-30 - **Last Updated**: 2026-05-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 学习激励系统 (Learning Incentive System) [![Version](https://img.shields.io/badge/version-2.0.0-blue.svg)](https://gitee.com/alexjunqi/learning_incentive) [![Frappe](https://img.shields.io/badge/Frappe-16.x-green.svg)](https://frappe.io) [![License](https://img.shields.io/badge/license-MIT-yellow.svg)](LICENSE) > 基于 Frappe/ErpNext 框架的学生学习激励管理应用,支持学生日报、家长审核、积分兑换和任务布置。 ## 📋 目录 - [功能特性](#功能特性) - [技术架构](#技术架构) - [安装部署](#安装部署) - [使用指南](#使用指南) - [系统截图](#系统截图) - [API 接口](#api-接口) - [版本历史](#版本历史) - [贡献者](#贡献者) --- ## ✨ 功能特性 ### 学生端 - 📊 **学习看板**:实时展示积分、段位、连续打卡天数 - 📝 **每日日报**:添加学习任务、上传多张照片、自评质量等级 - 🎁 **任务领取**:领取家长/老师布置的专项任务 - 🏦 **时间银行**:积分兑换奖励、查看交易历史 ### 家长端 - ✅ **逐任务审核**:查看任务照片,逐条通过/驳回并评语 - 📤 **日报提交**:所有任务审核通过后提交日报,积分即时发放 - 📋 **任务布置**:为孩子布置学习任务并设定积分奖励 ### 教师端 - 📋 **批量任务**:按班级/学生群组批量布置学习任务 - 📈 **学习统计**:查看学生学习数据与积分排名 ### 系统特性 - 📱 **移动端适配**:基于 WeUI 的响应式移动端界面 - 🔐 **微信登录**:支持微信 OAuth 授权登录 - 🔔 **消息提醒**:日报提醒、家长审核提醒(定时任务) - 🏆 **段位系统**:青铜→白银→黄金→铂金→钻石→大师 - 📅 **自动提交**:每日 22:00 自动提交未处理日报(可配置) --- ## 🏗 技术架构 | 层级 | 技术栈 | |------|--------| | 后端框架 | Frappe v16.2.1 + Python 3.14 | | 前端框架 | WeUI 2.4.4 + 原生 HTML/JS | | 数据库 | MariaDB (MySQL兼容) | | 缓存 | Redis | | 认证 | Frappe Session + 微信 OAuth | | 定时任务 | Frappe Scheduler | ### 核心 DocType | DocType | 说明 | |---------|------| | `Learning Daily Report` | 学习日报主表 | | `Daily Task Item` | 日报任务子表(支持多照片) | | `Task Photo` | 任务照片子表 | | `Assigned Task` | 布置任务表 | | `Student Profile` | 学生档案(积分/段位/时间银行) | | `Review Record` | 审核记录 | | `Season Config` | 赛季配置 | | `Rank Threshold` | 段位阈值 | | `Exchange Item` | 兑换商品 | | `Points Transaction` | 积分交易流水 | --- ## 🚀 安装部署 ### 环境要求 - Frappe Bench 环境 - Python 3.10+ - Node.js 18+ - MariaDB 10.6+ - Redis 6+ ### 安装步骤 ```bash # 1. 进入 bench 目录 cd /path/to/frappe-bench # 2. 获取应用 bench get-app https://gitee.com/alexjunqi/learning_incentive.git # 3. 安装到站点 bench --site your-site.local install-app learning_incentive # 4. 构建前端资源 bench build # 5. 重启服务 bench restart ``` ### 微信登录配置 在 **Season Config** 中配置: - 微信 AppID - 微信 AppSecret - 回调域名 --- ## 📖 使用指南 ### 学生操作流程 1. 登录系统(首页 → 学生看板) 2. 点击"添加学习任务",填写任务内容、时长、质量等级 3. 上传任务照片(支持多选) 4. 点击"提交日报",等待家长审核 ### 家长操作流程 1. 登录系统(首页 → 家长审核) 2. 查看孩子今日日报及任务照片 3. 逐条审核任务:通过 ✅ / 驳回 ❌,可添加评语 4. 所有任务审核完成后,点击"提交日报" 5. 积分自动发放至学生账户 ### 教师操作流程 1. 登录系统(首页 → 教师任务) 2. 选择班级/学生群组 3. 批量布置学习任务 4. 查看任务完成统计 --- ## 📸 系统截图 ### 学生看板 - 积分、段位、连续打卡展示 - 今日日报任务列表(含照片缩略图) - 本周学习统计 ### 家长审核中心 - 待审核日报列表 - 逐任务照片查看与放大 - 通过/驳回操作与评语 ### 时间银行 - 当前余额展示 - 兑换商品列表 - 交易历史记录 --- ## 🔌 API 接口 ### 学生接口 | 接口 | 方法 | 说明 | |------|------|------| | `learning_incentive.api.student_api.get_or_create_today_report` | POST | 获取/创建今日日报 | | `learning_incentive.api.student_api.add_task_to_report` | POST | 添加任务(支持多照片) | | `learning_incentive.api.student_api.submit_daily_report` | POST | 学生提交日报(待审核状态) | | `learning_incentive.api.student_api.get_pending_assigned_tasks` | GET | 获取待领取任务 | | `learning_incentive.api.student_api.claim_assigned_task` | POST | 领取任务 | ### 家长接口 | 接口 | 方法 | 说明 | |------|------|------| | `learning_incentive.api.parent_api.create_assigned_task` | POST | 布置任务 | | `learning_incentive.api.parent_api.review_task` | POST | 审核单条任务 | | `learning_incentive.api.parent_api.submit_report` | POST | 家长提交日报(积分发放) | | `learning_incentive.api.parent_api.get_my_assigned_tasks` | GET | 查看已布置任务 | ### 教师接口 | 接口 | 方法 | 说明 | |------|------|------| | `learning_incentive.api.teacher_api.create_bulk_tasks` | POST | 批量布置任务 | | `learning_incentive.api.teacher_api.get_student_groups` | GET | 获取学生群组 | --- ## 📝 版本历史 ### v1.0.0 (2026-04-30) - ✅ 学生日报系统(多照片支持) - ✅ 家长逐任务审核流程 - ✅ 积分与段位系统 - ✅ 时间银行兑换 - ✅ 微信 OAuth 登录 - ✅ 移动端 WeUI 界面 - ✅ 定时任务(自动提交/提醒) - ✅ 教师批量任务布置 --- ## 👥 贡献者 - **开发者**: alexjunqi - **联系方式**: [Gitee](https://gitee.com/alexjunqi) --- ## 📄 许可证 本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) 文件 --- > 🌟 如果本项目对您有帮助,请给个 Star!