|
@@ -1,15 +1,16 @@
|
|
|
-# 知行益家 - 小程序
|
|
|
|
|
|
|
+# 知行益家 (ZXYJ) - 家庭教育任务管理小程序
|
|
|
|
|
|
|
|
## 项目简介
|
|
## 项目简介
|
|
|
|
|
|
|
|
-知行益家是一款家庭教育任务管理小程序,通过积分奖励机制激励孩子自主完成任务,培养时间管理和延迟满足能力。
|
|
|
|
|
|
|
+知行益家是一款家庭教育任务管理小程序,通过积分奖励机制激励孩子自主完成任务,培养时间管理和延迟满足能力。支持家长端、孩子端、成长规划师(Web端)三端使用。
|
|
|
|
|
|
|
|
## 技术栈
|
|
## 技术栈
|
|
|
|
|
|
|
|
| 层级 | 技术 |
|
|
| 层级 | 技术 |
|
|
|
|------|------|
|
|
|------|------|
|
|
|
-| 前端 | 微信小程序原生开发 |
|
|
|
|
|
-| 后端 | Java 1.8 + Spring Boot 2.7.18 |
|
|
|
|
|
|
|
+| 后端 | Java 1.8 + Spring Boot 2.7.18 + MyBatis-Plus |
|
|
|
|
|
+| 前端小程序 | uni-app (Vue 2) |
|
|
|
|
|
+| Web管理端 | Vue 2 + Element UI |
|
|
|
| 数据库 | MySQL 8.0 |
|
|
| 数据库 | MySQL 8.0 |
|
|
|
| 认证 | JWT |
|
|
| 认证 | JWT |
|
|
|
| 文档 | Swagger 3.0 |
|
|
| 文档 | Swagger 3.0 |
|
|
@@ -17,38 +18,46 @@
|
|
|
## 项目结构
|
|
## 项目结构
|
|
|
|
|
|
|
|
```
|
|
```
|
|
|
-zhixingyijia/
|
|
|
|
|
-├── backend/ # Java后端
|
|
|
|
|
-│ ├── pom.xml # Maven配置
|
|
|
|
|
-│ ├── src/main/java/com/zhixingyijia/
|
|
|
|
|
-│ │ ├── ZhixingyijiaApplication.java # 启动类
|
|
|
|
|
-│ │ ├── common/ # 公共类(Result, JwtUtil)
|
|
|
|
|
-│ │ ├── config/ # 配置类
|
|
|
|
|
-│ │ ├── controller/ # 控制器
|
|
|
|
|
-│ │ ├── entity/ # 实体类
|
|
|
|
|
-│ │ ├── mapper/ # MyBatis Mapper
|
|
|
|
|
-│ │ ├── service/ # 业务逻辑
|
|
|
|
|
-│ │ └── dto/ # 数据传输对象
|
|
|
|
|
|
|
+zxyj/
|
|
|
|
|
+├── zxyj-backend/ # Java后端服务
|
|
|
|
|
+│ ├── src/main/java/com/zxyj/
|
|
|
|
|
+│ │ ├── controller/ # REST API (按功能分组)
|
|
|
|
|
+│ │ │ ├── admin/ # 管理端接口
|
|
|
|
|
+│ │ │ ├── auth/ # 认证接口
|
|
|
|
|
+│ │ │ ├── guide/ # 成长规划师接口
|
|
|
|
|
+│ │ │ ├── task/ # 任务接口
|
|
|
|
|
+│ │ │ ├── reward/ # 奖励接口
|
|
|
|
|
+│ │ │ └── assessment/ # DAN评估接口
|
|
|
|
|
+│ │ ├── service/ # 业务逻辑
|
|
|
|
|
+│ │ ├── mapper/ # MyBatis Mapper
|
|
|
|
|
+│ │ ├── entity/ # 数据实体
|
|
|
|
|
+│ │ ├── dto/ # 数据传输对象
|
|
|
|
|
+│ │ └── config/ # 配置类
|
|
|
│ └── src/main/resources/
|
|
│ └── src/main/resources/
|
|
|
-│ ├── application.yml # 配置文件
|
|
|
|
|
-│ └── mapper/ # MyBatis XML
|
|
|
|
|
|
|
+│ ├── application.yml # 配置文件
|
|
|
|
|
+│ └── schema.sql # 数据库初始化
|
|
|
│
|
|
│
|
|
|
-├── miniprogram/ # 微信小程序前端
|
|
|
|
|
-│ ├── app.js / app.json / app.wxss # 应用入口
|
|
|
|
|
-│ ├── pages/ # 页面
|
|
|
|
|
-│ │ ├── index/ # 首页(角色分流)
|
|
|
|
|
-│ │ ├── login/ # 登录页
|
|
|
|
|
-│ │ ├── parent-home/ # 家长端首页
|
|
|
|
|
-│ │ ├── child-home/ # 孩子端首页
|
|
|
|
|
-│ │ └── ... # 其他页面
|
|
|
|
|
-│ └── utils/ # 工具函数
|
|
|
|
|
|
|
+├── zxyj-frontend/ # 微信小程序前端
|
|
|
|
|
+│ ├── pages/ # 页面组件
|
|
|
|
|
+│ │ ├── index/ # 首页(角色分流)
|
|
|
|
|
+│ │ ├── parent/ # 家长端
|
|
|
|
|
+│ │ ├── child/ # 孩子端
|
|
|
|
|
+│ │ ├── teacher/ # 成长规划师端
|
|
|
|
|
+│ │ ├── assessment/ # DAN评估
|
|
|
|
|
+│ │ └── tasks/ # 任务相关
|
|
|
|
|
+│ ├── utils/ # 工具函数
|
|
|
|
|
+│ └── pages.json # 页面注册
|
|
|
│
|
|
│
|
|
|
-├── docs/ # 文档
|
|
|
|
|
-│ └── superpowers/
|
|
|
|
|
-│ ├── specs/ # 设计文档
|
|
|
|
|
-│ └── plans/ # 实现计划
|
|
|
|
|
|
|
+├── zxyj-web/ # Web管理端
|
|
|
|
|
+│ └── src/
|
|
|
|
|
+│ ├── views/ # 页面组件
|
|
|
|
|
+│ ├── api/ # API调用
|
|
|
|
|
+│ └── router/ # 路由配置
|
|
|
│
|
|
│
|
|
|
-└── README.md # 本文件
|
|
|
|
|
|
|
+└── docs/ # 项目文档
|
|
|
|
|
+ ├── 需求分析/ # 需求分析文档
|
|
|
|
|
+ ├── 系统设计/ # 系统设计文档
|
|
|
|
|
+ └── 系统测试/ # 测试文档
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
## 快速开始
|
|
## 快速开始
|
|
@@ -58,98 +67,128 @@ zhixingyijia/
|
|
|
- JDK 1.8+
|
|
- JDK 1.8+
|
|
|
- Maven 3.6+
|
|
- Maven 3.6+
|
|
|
- MySQL 8.0+
|
|
- MySQL 8.0+
|
|
|
|
|
+- Node.js 14+ (前端开发)
|
|
|
- 微信开发者工具
|
|
- 微信开发者工具
|
|
|
|
|
|
|
|
### 2. 数据库初始化
|
|
### 2. 数据库初始化
|
|
|
|
|
|
|
|
```bash
|
|
```bash
|
|
|
-# 创建数据库
|
|
|
|
|
mysql -u root -p
|
|
mysql -u root -p
|
|
|
-CREATE DATABASE zhixingyijia CHARACTER SET utf8mb4;
|
|
|
|
|
|
|
+CREATE DATABASE zxyj CHARACTER SET utf8mb4;
|
|
|
|
|
|
|
|
# 执行初始化脚本
|
|
# 执行初始化脚本
|
|
|
-mysql -u root -p zhixingyijia < backend/src/main/resources/sql/init.sql
|
|
|
|
|
-mysql -u root -p zhixingyijia < backend/src/main/resources/sql/seed.sql
|
|
|
|
|
|
|
+mysql -u root -p zxyj < zxyj-backend/src/main/resources/schema.sql
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-### 3. 配置后端
|
|
|
|
|
|
|
+### 3. 启动后端
|
|
|
|
|
|
|
|
-编辑 `backend/src/main/resources/application.yml`:
|
|
|
|
|
-
|
|
|
|
|
-```yaml
|
|
|
|
|
-spring:
|
|
|
|
|
- datasource:
|
|
|
|
|
- url: jdbc:mysql://localhost:3306/zhixingyijia?...
|
|
|
|
|
- username: your_username # 修改为你的数据库用户名
|
|
|
|
|
- password: your_password # 修改为你的数据库密码
|
|
|
|
|
|
|
+```bash
|
|
|
|
|
+cd zxyj-backend
|
|
|
|
|
+mvn clean install
|
|
|
|
|
+mvn spring-boot:run
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-### 4. 启动后端
|
|
|
|
|
|
|
+### 4. 启动小程序前端
|
|
|
|
|
|
|
|
```bash
|
|
```bash
|
|
|
-cd backend
|
|
|
|
|
-mvn clean package
|
|
|
|
|
-java -jar target/zhixingyijia-backend-1.0.0.jar
|
|
|
|
|
|
|
+cd zxyj-frontend
|
|
|
|
|
+npm install
|
|
|
|
|
+npm run dev:mp-weixin
|
|
|
```
|
|
```
|
|
|
|
|
|
|
|
-或直接在IDE中运行 `ZhixingyijiaApplication.java`
|
|
|
|
|
-
|
|
|
|
|
-### 5. 配置小程序
|
|
|
|
|
|
|
+### 5. 启动Web管理端
|
|
|
|
|
|
|
|
-1. 在[微信公众平台](https://mp.weixin.qq.com/)注册小程序获取AppID
|
|
|
|
|
-2. 在微信开发者工具中导入 `miniprogram` 目录
|
|
|
|
|
-3. 修改 `miniprogram/app.js` 中的 `baseUrl` 为你的后端地址
|
|
|
|
|
|
|
+```bash
|
|
|
|
|
+cd zxyj-web
|
|
|
|
|
+npm install
|
|
|
|
|
+npm run serve
|
|
|
|
|
+```
|
|
|
|
|
|
|
|
### 6. 访问API文档
|
|
### 6. 访问API文档
|
|
|
|
|
|
|
|
-启动后端后,访问:http://localhost:8080/api/swagger-ui.html
|
|
|
|
|
|
|
+启动后端后,访问:http://localhost:8080/swagger-ui.html
|
|
|
|
|
|
|
|
## 核心功能
|
|
## 核心功能
|
|
|
|
|
|
|
|
-### MVP版本(已完成)
|
|
|
|
|
|
|
+### 已完成
|
|
|
|
|
|
|
|
| 功能 | 说明 |
|
|
| 功能 | 说明 |
|
|
|
|------|------|
|
|
|------|------|
|
|
|
-| ✅ 用户认证 | 微信登录、JWT认证 |
|
|
|
|
|
-| ✅ 任务管理 | 创建、执行、完成任务 |
|
|
|
|
|
-| ✅ 积分系统 | 完成任务获积分、超时扣分 |
|
|
|
|
|
-| ✅ 奖励体系 | 心愿单、兑换、审批 |
|
|
|
|
|
-| ✅ 双模式切换 | 家长模式/孩子模式 |
|
|
|
|
|
|
|
+| ✅ 用户认证 | 微信登录、手机验证码登录、JWT认证 |
|
|
|
|
|
+| ✅ 任务管理 | 创建、执行、审核任务,支持小游戏类任务 |
|
|
|
|
|
+| ✅ 积分系统 | 完成任务获积分、超时扣分、积分流水 |
|
|
|
|
|
+| ✅ 奖励体系 | 心愿单、兑换、审批流程 |
|
|
|
|
|
+| ✅ 双角色切换 | 家长模式/孩子模式即时切换 |
|
|
|
|
|
+| ✅ 成长规划师 | 套餐管理、家庭绑定、任务下发、DAN评估 |
|
|
|
|
|
+| ✅ 小游戏任务 | 舒尔特方格、猜数字、数独 |
|
|
|
|
|
+| ✅ 评估预约 | DAN评估预约、订单管理 |
|
|
|
|
|
|
|
|
-### 待开发
|
|
|
|
|
|
|
+## 角色系统
|
|
|
|
|
+
|
|
|
|
|
+- **家长端**:管理孩子、创建任务、审批奖励、查看进度
|
|
|
|
|
+- **孩子端**:执行任务、完成任务、兑换奖励
|
|
|
|
|
+- **成长规划师**:服务家庭、创建套餐、下发任务、DAN评估
|
|
|
|
|
+
|
|
|
|
|
+## API接口(按模块)
|
|
|
|
|
+
|
|
|
|
|
+### 认证模块
|
|
|
|
|
+
|
|
|
|
|
+| 接口 | 方法 | 说明 |
|
|
|
|
|
+|------|------|------|
|
|
|
|
|
+| /api/auth/phone-login | POST | 手机验证码登录 |
|
|
|
|
|
+| /api/auth/wechat-login | POST | 微信登录 |
|
|
|
|
|
+| /api/user/info | POST | 获取用户信息 |
|
|
|
|
|
|
|
|
-| 功能 | 优先级 |
|
|
|
|
|
-|------|--------|
|
|
|
|
|
-| 连续打卡 | P1 |
|
|
|
|
|
-| 专注训练 | P1 |
|
|
|
|
|
-| AI审核 | P1 |
|
|
|
|
|
-| DAN测评模板 | P1 |
|
|
|
|
|
-| 勋章墙 | P1 |
|
|
|
|
|
|
|
+### 任务模块
|
|
|
|
|
|
|
|
-## API接口
|
|
|
|
|
|
|
+| 接口 | 方法 | 说明 |
|
|
|
|
|
+|------|------|------|
|
|
|
|
|
+| /api/tasks/create | POST | 创建任务 |
|
|
|
|
|
+| /api/tasks/complete | POST | 完成任务 |
|
|
|
|
|
+| /api/tasks/review | POST | 审核任务 |
|
|
|
|
|
+| /api/tasks/minigame-options | POST | 获取小游戏列表 |
|
|
|
|
|
|
|
|
-### 认证接口
|
|
|
|
|
|
|
+### 奖励模块
|
|
|
|
|
|
|
|
| 接口 | 方法 | 说明 |
|
|
| 接口 | 方法 | 说明 |
|
|
|
|------|------|------|
|
|
|------|------|------|
|
|
|
-| /api/auth/login | POST | 微信登录 |
|
|
|
|
|
-| /api/auth/info | GET | 获取用户信息 |
|
|
|
|
|
|
|
+| /api/rewards/create | POST | 创建奖励 |
|
|
|
|
|
+| /api/rewards/approve | POST | 审批奖励 |
|
|
|
|
|
+| /api/rewards/exchange | POST | 兑换奖励 |
|
|
|
|
|
|
|
|
-### 任务接口
|
|
|
|
|
|
|
+### 成长规划师模块
|
|
|
|
|
|
|
|
| 接口 | 方法 | 说明 |
|
|
| 接口 | 方法 | 说明 |
|
|
|
|------|------|------|
|
|
|------|------|------|
|
|
|
-| /api/tasks/today/{childId} | GET | 获取今日任务 |
|
|
|
|
|
-| /api/tasks | POST | 创建任务 |
|
|
|
|
|
-| /api/tasks/{id}/complete | POST | 完成任务 |
|
|
|
|
|
-| /api/tasks/{id}/review | POST | 审核任务 |
|
|
|
|
|
|
|
+| /api/guide/package/create | POST | 创建套餐 |
|
|
|
|
|
+| /api/guide/families | POST | 绑定家庭列表 |
|
|
|
|
|
+| /api/guide/task/create | POST | 下发任务 |
|
|
|
|
|
+| /api/guide/assessment/enable | POST | 启用家庭评估 |
|
|
|
|
|
|
|
|
-### 奖励接口
|
|
|
|
|
|
|
+### 评估模块
|
|
|
|
|
|
|
|
| 接口 | 方法 | 说明 |
|
|
| 接口 | 方法 | 说明 |
|
|
|
|------|------|------|
|
|
|------|------|------|
|
|
|
-| /api/rewards/family/{familyId} | GET | 获取家庭奖励 |
|
|
|
|
|
-| /api/rewards | POST | 创建奖励 |
|
|
|
|
|
|
|
+| /api/assessment/appointment/create | POST | 创建评估预约 |
|
|
|
|
|
+| /api/assessment/appointment/confirm | POST | 确认预约 |
|
|
|
|
|
+| /api/assessment/record/create | POST | 录入测评结果 |
|
|
|
|
|
+
|
|
|
|
|
+## 测试
|
|
|
|
|
+
|
|
|
|
|
+```bash
|
|
|
|
|
+cd zxyj-backend
|
|
|
|
|
+mvn test
|
|
|
|
|
+```
|
|
|
|
|
+
|
|
|
|
|
+测试覆盖:Service层单元测试、集成测试、小游戏任务测试、成长规划师测试
|
|
|
|
|
+
|
|
|
|
|
+## 开发规范
|
|
|
|
|
+
|
|
|
|
|
+- 控制器分组:按功能模块分为 admin, auth, guide, task, reward, assessment
|
|
|
|
|
+- 接口规范:统一使用 `@PostMapping`,禁止 `@GetMapping`
|
|
|
|
|
+- ORM:使用 MyBatis-Plus 注解
|
|
|
|
|
+- 响应包装:统一 `Result<T>` 返回
|
|
|
|
|
+- DI注解:使用 `@Resource`,字段名与 Bean Name 一致
|
|
|
|
|
|
|
|
## 开发团队
|
|
## 开发团队
|
|
|
|
|
|
|
@@ -158,4 +197,4 @@ java -jar target/zhixingyijia-backend-1.0.0.jar
|
|
|
|
|
|
|
|
## 许可证
|
|
## 许可证
|
|
|
|
|
|
|
|
-MIT License
|
|
|
|
|
|
|
+MIT License
|