# education **Repository Path**: vinww/education ## Basic Information - **Project Name**: education - **Description**: 幼儿托管系统小程序。。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-28 - **Last Updated**: 2025-11-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 幼儿家教托管系统 基于现代技术栈开发的家教托管平台,为家长、教师、机构管理者提供一体化的托管服务解决方案。系统包含Web管理后台和微信小程序移动端,实现全平台覆盖。 ## 技术栈 ### 后端 (Spring Boot版本) - Java 1.8 + Spring Boot 2.6+ - Spring Security + JWT 认证 - MySQL 8.0 + MyBatis/JPA - Redis (缓存和会话) - WebSocket (实时通信) - Swagger 3.0 (API文档) ### Web前端 - React 18 - React Router - Ant Design - Axios - Socket.io Client ### 微信小程序端 🆕 - 微信原生小程序开发框架 - WXML/WXSS/JavaScript - 微信API集成 (支付、定位、分享等) - WebSocket实时通信 - 模块化架构设计 ## 功能特性 ### 核心功能 - 🔐 多角色用户认证 (家长/教师/管理员) - 👥 智能考勤管理系统 - 📚 课程与学习管理 - 💬 实时消息通知 - 📊 数据统计与报表 - 🔒 安全监控与定位 - 💰 财务管理 ### 微信小程序特色功能 🌟 - 💳 **微信支付集成**:课程费用、餐费、活动费用一键支付 - 📍 **GPS智能签到**:基于地理位置的自动签到签退 - 📱 **实时消息推送**:WebSocket实时通知家长教师 - 📸 **媒体处理**:拍照上传、图片视频处理 - 🔄 **分享功能**:学习记录、成长档案便捷分享 - ⚡ **性能优化**:自适应设备性能,智能资源管理 ## 快速开始 ### 环境要求 - Java 1.8+ - Node.js 18+ - MySQL 8.0+ - Redis - 微信开发者工具 (小程序开发) ### 后端启动 (Spring Boot) ```bash # 进入后端目录 cd server # 配置数据库连接 (application.yml) # 启动Redis服务 # Maven构建 mvn clean install # 启动应用 mvn spring-boot:run ``` ### Web前端启动 ```bash # 进入前端目录 cd client # 安装依赖 npm install # 启动开发服务器 npm start ``` ### 微信小程序开发 🆕 ```bash # 使用微信开发者工具导入项目 # 项目路径: ./miniprogram # 配置小程序AppID # 配置服务器域名 # 上传代码并发布 ``` ## 项目结构 ``` education/ ├── client/ # React Web前端应用 │ ├── src/ │ │ ├── components/ # 通用组件 │ │ ├── pages/ # 页面组件 │ │ ├── services/ # API服务 │ │ ├── store/ # Redux状态管理 │ │ └── utils/ # 工具函数 │ └── public/ # 静态资源 ├── src/ # Spring Boot后端应用 │ ├── main/java/ │ │ ├── controller/ # REST控制器 │ │ ├── service/ # 业务服务层 │ │ ├── entity/ # JPA实体类 │ │ ├── repository/ # 数据访问层 │ │ ├── config/ # 配置类 │ │ └── utils/ # 工具类 │ └── main/resources/ │ ├── application.yml # 应用配置 │ └── mapper/ # MyBatis映射文件 ├── miniprogram/ # 微信小程序 🆕 │ ├── pages/ # 小程序页面 │ │ ├── login/ # 登录页面 │ │ ├── home/ # 首页 │ │ ├── children/ # 孩子管理 │ │ ├── attendance/ # 考勤管理 │ │ ├── messages/ # 消息中心 │ │ ├── profile/ # 个人资料 │ │ ├── teacher/ # 教师端页面 │ │ ├── payment/ # 支付页面 │ │ ├── checkin/ # 签到页面 │ │ └── performance/ # 性能监控 │ ├── services/ # API服务层 │ │ ├── authService.js # 认证服务 │ │ ├── studentService.js # 学生服务 │ │ ├── attendanceService.js # 考勤服务 │ │ ├── courseService.js # 课程服务 │ │ ├── messageService.js # 消息服务 │ │ ├── teacherService.js # 教师服务 │ │ └── wechatService.js # 微信特色功能服务 │ ├── utils/ # 工具函数 │ │ ├── api.js # API封装 │ │ ├── util.js # 通用工具 │ │ ├── websocket.js # WebSocket管理 │ │ ├── notification.js # 通知管理 │ │ ├── payment.js # 支付工具 │ │ ├── location.js # 定位工具 │ │ ├── share.js # 分享工具 │ │ ├── media.js # 媒体处理 │ │ └── device.js # 设备管理 │ ├── app.js # 小程序入口文件 │ ├── app.json # 小程序配置 │ └── app.wxss # 全局样式 ├── docs/ # 项目文档 └── sql/ # 数据库脚本 ``` ## 系统架构 ### 整体架构图 ```mermaid graph TB subgraph "客户端层" A[Web管理后台] B[微信小程序] end subgraph "网关层" C[Nginx反向代理] end subgraph "应用层" D[Spring Boot应用] E[WebSocket服务] end subgraph "数据层" F[MySQL数据库] G[Redis缓存] end subgraph "外部服务" H[微信支付API] I[微信地图API] J[微信消息推送] end A --> C B --> C C --> D C --> E D --> F D --> G E --> G B --> H B --> I B --> J ``` ### 微信小程序架构 ```mermaid graph TD subgraph "小程序前端" A1[登录认证模块] A2[家长端功能] A3[教师端功能] A4[消息通知模块] end subgraph "工具层" B1[API服务封装] B2[WebSocket管理] B3[支付工具] B4[定位工具] B5[媒体处理] B6[设备管理] end subgraph "微信原生API" C1[微信支付] C2[地理定位] C3[媒体选择] C4[分享功能] C5[设备信息] end subgraph "后端服务" D1[Spring Boot API] D2[WebSocket服务] end A1 --> B1 A2 --> B1 A2 --> B3 A2 --> B4 A3 --> B1 A3 --> B5 A4 --> B2 B3 --> C1 B4 --> C2 B5 --> C3 B1 --> C4 B6 --> C5 B1 --> D1 B2 --> D2 ``` ## 访问地址 - Web前端: http://localhost:3000 - 后端API: http://localhost:8080 - API文档: http://localhost:8080/swagger-ui/index.html - 微信小程序: 通过微信开发者工具预览 ## 开发说明 ### API接口规范 - 基础路径: `/api` - 认证接口: `/api/auth/*` - 业务接口: `/api/students/*`, `/api/courses/*`, `/api/attendance/*` - WebSocket: `ws://localhost:8080/ws` ### 微信小程序开发规范 1. **项目结构**: 遵循微信小程序标准目录结构 2. **API服务层**: 模块化API服务设计,统一错误处理 3. **实时通信**: WebSocket实现消息推送,支持心跳和重连 4. **特色功能**: 集成微信支付、定位、分享等原生能力 5. **性能优化**: 设备自适应、内存管理、网络优化 ### 安全配置 - JWT Token过期时间: 24小时 - 密钥长度: 512位 (HS512算法) - CORS配置: 允许localhost:3000跨域访问 - 路径白名单: `/api/auth/**`, `/swagger-ui/**` ## 部署指南 ### 生产环境部署 1. **后端部署** ```bash # 打包应用 mvn clean package # 运行jar包 java -jar target/education-0.0.1-SNAPSHOT.jar ``` 2. **前端部署** ```bash cd client npm run build # 将build目录部署到Web服务器 ``` 3. **微信小程序发布** - 使用微信开发者工具上传代码 - 提交审核并发布 - 配置服务器域名白名单 ### 环境变量配置 ```yaml # application-prod.yml spring: datasource: url: jdbc:mysql://your-db-host:3306/education username: your-username password: your-password redis: host: your-redis-host port: 6379 # 微信小程序配置 wechat: appid: your-wechat-appid secret: your-wechat-secret mch-id: your-merchant-id ``` ## 更新日志 ### v2.0.0 - 微信小程序版本 🆕 - ✨ 新增微信小程序移动端 - ✨ 集成微信支付功能 - ✨ 实现GPS智能签到 - ✨ 添加实时消息推送 - ✨ 支持媒体文件处理 - ✨ 内置性能监控工具 - 🔧 后端架构升级至Spring Boot - 🔧 数据库迁移至MySQL 8.0 - 🔧 API文档集成Swagger 3.0 ### v1.0.0 - 基础版本 - ✨ 多角色用户认证系统 - ✨ 考勤管理功能 - ✨ 课程管理系统 - ✨ 消息通知功能 - ✨ 数据统计报表 - ✨ Web管理后台 ## 技术支持 ### 常见问题 1. **JWT密钥长度问题**: 使用HS512算法时需要512位密钥 2. **Swagger兼容性**: Spring Boot 2.6+需要配置MVC路径匹配策略 3. **微信小程序域名配置**: 需要在微信后台配置服务器域名 4. **WebSocket连接**: 确保防火墙允许WebSocket连接 ### 开发团队 - 后端开发: Spring Boot + MySQL + Redis - 前端开发: React + Ant Design - 小程序开发: 微信原生框架 - 系统架构: 微服务 + WebSocket ### 联系方式 - 项目仓库: [GitHub地址] - 技术文档: [文档地址] - 问题反馈: [Issues地址]