962 lines
17 KiB
Markdown
962 lines
17 KiB
Markdown
|
|
# 盘古用户平台 - 接口设计文档
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
| 文档信息 | 内容 |
|
|||
|
|
|---------|------|
|
|||
|
|
| **文档版本** | V1.0 |
|
|||
|
|
| **项目名称** | 盘古用户平台(Pangu User Platform) |
|
|||
|
|
| **编写团队** | pangu |
|
|||
|
|
| **创建日期** | 2026-01-31 |
|
|||
|
|
| **接口基础路径** | `/api` (管理端) `/app` (移动端) `/open` (开放API) |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 1. 接口规范
|
|||
|
|
|
|||
|
|
### 1.1 请求规范
|
|||
|
|
|
|||
|
|
**请求头(Header)**
|
|||
|
|
|
|||
|
|
| Header | 必填 | 说明 |
|
|||
|
|
|--------|:----:|------|
|
|||
|
|
| Authorization | 是 | Bearer {token},登录接口除外 |
|
|||
|
|
| Content-Type | 是 | application/json |
|
|||
|
|
|
|||
|
|
**请求方法**
|
|||
|
|
|
|||
|
|
| 方法 | 用途 |
|
|||
|
|
|-----|------|
|
|||
|
|
| GET | 查询数据 |
|
|||
|
|
| POST | 新增数据 |
|
|||
|
|
| PUT | 修改数据 |
|
|||
|
|
| DELETE | 删除数据 |
|
|||
|
|
|
|||
|
|
### 1.2 响应规范
|
|||
|
|
|
|||
|
|
**统一响应格式**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "操作成功",
|
|||
|
|
"data": {}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**分页响应格式**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功",
|
|||
|
|
"total": 100,
|
|||
|
|
"rows": []
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 1.3 错误码定义
|
|||
|
|
|
|||
|
|
| 错误码 | 说明 |
|
|||
|
|
|-------|------|
|
|||
|
|
| 200 | 成功 |
|
|||
|
|
| 400 | 请求参数错误 |
|
|||
|
|
| 401 | 未登录或Token过期 |
|
|||
|
|
| 403 | 无权限访问 |
|
|||
|
|
| 404 | 资源不存在 |
|
|||
|
|
| 500 | 服务器内部错误 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2. 认证接口
|
|||
|
|
|
|||
|
|
### 2.1 后台登录
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /api/login`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"username": "admin",
|
|||
|
|
"password": "admin123",
|
|||
|
|
"code": "1234",
|
|||
|
|
"uuid": "xxx-xxx-xxx"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|-----|------|:----:|------|
|
|||
|
|
| username | string | 是 | 用户名 |
|
|||
|
|
| password | string | 是 | 密码 |
|
|||
|
|
| code | string | 是 | 验证码 |
|
|||
|
|
| uuid | string | 是 | 验证码唯一标识 |
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "操作成功",
|
|||
|
|
"token": "eyJhbGciOiJIUzUxMiJ9..."
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2.2 获取验证码
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/captchaImage`
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "操作成功",
|
|||
|
|
"img": "data:image/png;base64,...",
|
|||
|
|
"uuid": "xxx-xxx-xxx"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2.3 会员登录(验证码)
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /app/login/sms`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"phone": "13812345678",
|
|||
|
|
"code": "123456"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|-----|------|:----:|------|
|
|||
|
|
| phone | string | 是 | 手机号 |
|
|||
|
|
| code | string | 是 | 短信验证码 |
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "登录成功",
|
|||
|
|
"data": {
|
|||
|
|
"token": "eyJhbGciOiJIUzUxMiJ9...",
|
|||
|
|
"memberId": 1,
|
|||
|
|
"memberCode": "JS123456789",
|
|||
|
|
"phone": "138****5678",
|
|||
|
|
"nickname": "用户昵称",
|
|||
|
|
"avatar": "https://...",
|
|||
|
|
"identityType": "1"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2.4 发送短信验证码
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /app/sms/send`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"phone": "13812345678",
|
|||
|
|
"type": "login"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|-----|------|:----:|------|
|
|||
|
|
| phone | string | 是 | 手机号 |
|
|||
|
|
| type | string | 是 | 验证码类型:login/register |
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "验证码已发送"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2.5 会员登录(密码)
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /app/login/password`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"phone": "13812345678",
|
|||
|
|
"password": "123456"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2.6 会员登录(微信)
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /app/login/wechat`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": "wx_login_code"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|-----|------|:----:|------|
|
|||
|
|
| code | string | 是 | 微信登录code |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3. 学校管理接口
|
|||
|
|
|
|||
|
|
### 3.1 查询学校树
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/school/tree`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|-----|------|:----:|------|
|
|||
|
|
| regionId | long | 否 | 区域ID |
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功",
|
|||
|
|
"data": [
|
|||
|
|
{
|
|||
|
|
"schoolId": 1,
|
|||
|
|
"schoolCode": "SCH001",
|
|||
|
|
"schoolName": "武汉市第一中学",
|
|||
|
|
"regionPath": "湖北省-武汉市-武昌区",
|
|||
|
|
"children": [
|
|||
|
|
{
|
|||
|
|
"id": 1,
|
|||
|
|
"gradeId": 7,
|
|||
|
|
"gradeName": "七年级",
|
|||
|
|
"children": [
|
|||
|
|
{
|
|||
|
|
"id": 1,
|
|||
|
|
"classId": 1,
|
|||
|
|
"className": "1班"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3.2 查询学校列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/school/list`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|-----|------|:----:|------|
|
|||
|
|
| schoolName | string | 否 | 学校名称(模糊查询)|
|
|||
|
|
| regionId | long | 否 | 区域ID |
|
|||
|
|
| status | string | 否 | 状态 |
|
|||
|
|
| pageNum | int | 是 | 页码 |
|
|||
|
|
| pageSize | int | 是 | 每页条数 |
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功",
|
|||
|
|
"total": 100,
|
|||
|
|
"rows": [
|
|||
|
|
{
|
|||
|
|
"schoolId": 1,
|
|||
|
|
"schoolCode": "SCH001",
|
|||
|
|
"schoolName": "武汉市第一中学",
|
|||
|
|
"schoolType": "02",
|
|||
|
|
"regionId": 111,
|
|||
|
|
"regionPath": "湖北省-武汉市-武昌区",
|
|||
|
|
"status": "0",
|
|||
|
|
"createTime": "2026-01-01 10:00:00",
|
|||
|
|
"createBy": "admin"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3.3 新增学校
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /api/school`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"schoolName": "武汉市第一中学",
|
|||
|
|
"schoolType": "02",
|
|||
|
|
"regionId": 111,
|
|||
|
|
"address": "武昌区xxx路xxx号",
|
|||
|
|
"contactPerson": "张老师",
|
|||
|
|
"contactPhone": "13812345678",
|
|||
|
|
"status": "0"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3.4 修改学校
|
|||
|
|
|
|||
|
|
**接口地址**:`PUT /api/school`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"schoolId": 1,
|
|||
|
|
"schoolName": "武汉市第一中学",
|
|||
|
|
"schoolType": "02",
|
|||
|
|
"regionId": 111,
|
|||
|
|
"status": "0"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3.5 删除学校
|
|||
|
|
|
|||
|
|
**接口地址**:`DELETE /api/school/{schoolId}`
|
|||
|
|
|
|||
|
|
### 3.6 为学校挂载年级
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /api/school/bindGrades`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"schoolId": 1,
|
|||
|
|
"gradeIds": [7, 8, 9]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3.7 为年级挂载班级
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /api/school/bindClasses`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"schoolGradeId": 1,
|
|||
|
|
"classIds": [1, 2, 3]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 4. 会员管理接口
|
|||
|
|
|
|||
|
|
### 4.1 查询会员列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/member/list`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|-----|------|:----:|------|
|
|||
|
|
| phone | string | 否 | 手机号 |
|
|||
|
|
| nickname | string | 否 | 昵称 |
|
|||
|
|
| identityType | string | 否 | 身份类型(1家长 2教师)|
|
|||
|
|
| status | string | 否 | 状态 |
|
|||
|
|
| beginTime | string | 否 | 注册开始时间 |
|
|||
|
|
| endTime | string | 否 | 注册结束时间 |
|
|||
|
|
| pageNum | int | 是 | 页码 |
|
|||
|
|
| pageSize | int | 是 | 每页条数 |
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功",
|
|||
|
|
"total": 100,
|
|||
|
|
"rows": [
|
|||
|
|
{
|
|||
|
|
"memberId": 1,
|
|||
|
|
"memberCode": "JS123456789",
|
|||
|
|
"phone": "138****5678",
|
|||
|
|
"nickname": "用户昵称",
|
|||
|
|
"gender": "1",
|
|||
|
|
"birthday": "1990-01-01",
|
|||
|
|
"identityType": "1",
|
|||
|
|
"registerSource": "1",
|
|||
|
|
"registerTime": "2026-01-01 10:00:00",
|
|||
|
|
"status": "0"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4.2 获取会员详情
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/member/{memberId}`
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功",
|
|||
|
|
"data": {
|
|||
|
|
"memberId": 1,
|
|||
|
|
"memberCode": "JS123456789",
|
|||
|
|
"phone": "13812345678",
|
|||
|
|
"nickname": "用户昵称",
|
|||
|
|
"gender": "1",
|
|||
|
|
"birthday": "1990-01-01",
|
|||
|
|
"identityType": "2",
|
|||
|
|
"regionId": 111,
|
|||
|
|
"schoolId": 1,
|
|||
|
|
"schoolGradeId": 1,
|
|||
|
|
"schoolClassId": 1,
|
|||
|
|
"students": [
|
|||
|
|
{
|
|||
|
|
"studentId": 1,
|
|||
|
|
"studentName": "张三",
|
|||
|
|
"studentNo": "2026001",
|
|||
|
|
"schoolName": "武汉市第一中学",
|
|||
|
|
"gradeName": "七年级",
|
|||
|
|
"className": "1班"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4.3 新增会员
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /api/member`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"phone": "13812345678",
|
|||
|
|
"nickname": "用户昵称",
|
|||
|
|
"gender": "1",
|
|||
|
|
"birthday": "1990-01-01",
|
|||
|
|
"identityType": "2",
|
|||
|
|
"regionId": 111,
|
|||
|
|
"schoolId": 1,
|
|||
|
|
"schoolGradeId": 1,
|
|||
|
|
"schoolClassId": 1,
|
|||
|
|
"status": "0"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4.4 修改会员
|
|||
|
|
|
|||
|
|
**接口地址**:`PUT /api/member`
|
|||
|
|
|
|||
|
|
### 4.5 删除会员
|
|||
|
|
|
|||
|
|
**接口地址**:`DELETE /api/member/{memberId}`
|
|||
|
|
|
|||
|
|
### 4.6 重置密码
|
|||
|
|
|
|||
|
|
**接口地址**:`PUT /api/member/resetPwd/{memberId}`
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "密码重置成功",
|
|||
|
|
"data": {
|
|||
|
|
"password": "abc123"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4.7 绑定学生
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /api/member/bindStudent`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"memberId": 1,
|
|||
|
|
"studentId": 1
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4.8 解绑学生
|
|||
|
|
|
|||
|
|
**接口地址**:`DELETE /api/member/unbindStudent/{memberId}/{studentId}`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 5. 学生管理接口
|
|||
|
|
|
|||
|
|
### 5.1 查询学生列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/student/list`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|-----|------|:----:|------|
|
|||
|
|
| studentName | string | 否 | 学生姓名 |
|
|||
|
|
| studentNo | string | 否 | 学号 |
|
|||
|
|
| gender | string | 否 | 性别 |
|
|||
|
|
| schoolId | long | 否 | 学校ID |
|
|||
|
|
| schoolGradeId | long | 否 | 学校年级ID |
|
|||
|
|
| schoolClassId | long | 否 | 学校班级ID |
|
|||
|
|
| subjectId | long | 否 | 学科ID |
|
|||
|
|
| memberPhone | string | 否 | 归属用户手机号 |
|
|||
|
|
| pageNum | int | 是 | 页码 |
|
|||
|
|
| pageSize | int | 是 | 每页条数 |
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功",
|
|||
|
|
"total": 100,
|
|||
|
|
"rows": [
|
|||
|
|
{
|
|||
|
|
"studentId": 1,
|
|||
|
|
"studentName": "张三",
|
|||
|
|
"studentNo": "2026001",
|
|||
|
|
"gender": "1",
|
|||
|
|
"birthday": "2015-01",
|
|||
|
|
"regionPath": "湖北省-武汉市-武昌区",
|
|||
|
|
"schoolName": "武汉市第一中学",
|
|||
|
|
"gradeName": "七年级",
|
|||
|
|
"className": "1班",
|
|||
|
|
"subjectName": "语文",
|
|||
|
|
"memberNickname": "张三爸爸",
|
|||
|
|
"memberPhone": "138****5678"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 5.2 获取学生详情
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/student/{studentId}`
|
|||
|
|
|
|||
|
|
### 5.3 新增学生
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /api/student`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"studentName": "张三",
|
|||
|
|
"studentNo": "2026001",
|
|||
|
|
"gender": "1",
|
|||
|
|
"birthday": "2015-01",
|
|||
|
|
"regionId": 111,
|
|||
|
|
"schoolId": 1,
|
|||
|
|
"schoolGradeId": 1,
|
|||
|
|
"schoolClassId": 1,
|
|||
|
|
"subjectId": 1,
|
|||
|
|
"memberId": 1
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 5.4 修改学生
|
|||
|
|
|
|||
|
|
**接口地址**:`PUT /api/student`
|
|||
|
|
|
|||
|
|
### 5.5 删除学生
|
|||
|
|
|
|||
|
|
**接口地址**:`DELETE /api/student/{studentId}`
|
|||
|
|
|
|||
|
|
### 5.6 批量导入学生
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /api/student/import`
|
|||
|
|
|
|||
|
|
**请求方式**:`multipart/form-data`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|-----|------|:----:|------|
|
|||
|
|
| file | file | 是 | Excel文件 |
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "导入成功",
|
|||
|
|
"data": {
|
|||
|
|
"successCount": 98,
|
|||
|
|
"failCount": 2,
|
|||
|
|
"failList": [
|
|||
|
|
{"row": 5, "reason": "学号已存在"},
|
|||
|
|
{"row": 10, "reason": "学校信息不匹配"}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 5.7 下载导入模板
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/student/template`
|
|||
|
|
|
|||
|
|
**响应**:Excel文件下载
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 6. 应用管理接口
|
|||
|
|
|
|||
|
|
### 6.1 查询应用列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/application/list`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|-----|------|:----:|------|
|
|||
|
|
| appName | string | 否 | 应用名称 |
|
|||
|
|
| appCode | string | 否 | 应用编码 |
|
|||
|
|
| status | string | 否 | 状态 |
|
|||
|
|
| pageNum | int | 是 | 页码 |
|
|||
|
|
| pageSize | int | 是 | 每页条数 |
|
|||
|
|
|
|||
|
|
### 6.2 获取应用详情
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/application/{appId}`
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功",
|
|||
|
|
"data": {
|
|||
|
|
"appId": 1,
|
|||
|
|
"appCode": "YY000001",
|
|||
|
|
"appName": "AI智慧平台",
|
|||
|
|
"appSecret": "********************************",
|
|||
|
|
"status": "0",
|
|||
|
|
"apis": [
|
|||
|
|
{
|
|||
|
|
"apiCode": "STUDENT_LIST",
|
|||
|
|
"apiName": "查询学生信息",
|
|||
|
|
"apiPath": "/open/student/list"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 6.3 新增应用
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /api/application`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"appName": "AI智慧平台",
|
|||
|
|
"appDesc": "AI教育智慧平台",
|
|||
|
|
"contactPerson": "张经理",
|
|||
|
|
"contactPhone": "13812345678",
|
|||
|
|
"status": "0",
|
|||
|
|
"apiCodes": ["STUDENT_LIST", "SCHOOL_LIST", "GRADE_LIST"]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 6.4 修改应用
|
|||
|
|
|
|||
|
|
**接口地址**:`PUT /api/application`
|
|||
|
|
|
|||
|
|
### 6.5 删除应用
|
|||
|
|
|
|||
|
|
**接口地址**:`DELETE /api/application/{appId}`
|
|||
|
|
|
|||
|
|
### 6.6 重置密钥
|
|||
|
|
|
|||
|
|
**接口地址**:`PUT /api/application/resetSecret/{appId}`
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "密钥重置成功",
|
|||
|
|
"data": {
|
|||
|
|
"appSecret": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 6.7 获取API接口列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/application/apiList`
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功",
|
|||
|
|
"data": [
|
|||
|
|
{
|
|||
|
|
"apiCode": "STUDENT_LIST",
|
|||
|
|
"apiName": "查询学生信息",
|
|||
|
|
"apiPath": "/open/student/list",
|
|||
|
|
"apiMethod": "GET"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 7. 基础数据接口
|
|||
|
|
|
|||
|
|
### 7.1 区域管理
|
|||
|
|
|
|||
|
|
#### 获取区域树
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/region/tree`
|
|||
|
|
|
|||
|
|
#### 新增区域
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /api/region`
|
|||
|
|
|
|||
|
|
#### 修改区域
|
|||
|
|
|
|||
|
|
**接口地址**:`PUT /api/region`
|
|||
|
|
|
|||
|
|
#### 删除区域
|
|||
|
|
|
|||
|
|
**接口地址**:`DELETE /api/region/{regionId}`
|
|||
|
|
|
|||
|
|
### 7.2 年级管理
|
|||
|
|
|
|||
|
|
#### 查询年级列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/grade/list`
|
|||
|
|
|
|||
|
|
#### 新增年级
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /api/grade`
|
|||
|
|
|
|||
|
|
#### 修改年级
|
|||
|
|
|
|||
|
|
**接口地址**:`PUT /api/grade`
|
|||
|
|
|
|||
|
|
#### 删除年级
|
|||
|
|
|
|||
|
|
**接口地址**:`DELETE /api/grade/{gradeId}`
|
|||
|
|
|
|||
|
|
### 7.3 班级管理
|
|||
|
|
|
|||
|
|
#### 查询班级列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/class/list`
|
|||
|
|
|
|||
|
|
#### 新增班级
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /api/class`
|
|||
|
|
|
|||
|
|
#### 修改班级
|
|||
|
|
|
|||
|
|
**接口地址**:`PUT /api/class`
|
|||
|
|
|
|||
|
|
#### 删除班级
|
|||
|
|
|
|||
|
|
**接口地址**:`DELETE /api/class/{classId}`
|
|||
|
|
|
|||
|
|
### 7.4 学科管理
|
|||
|
|
|
|||
|
|
#### 查询学科列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /api/subject/list`
|
|||
|
|
|
|||
|
|
#### 新增学科
|
|||
|
|
|
|||
|
|
**接口地址**:`POST /api/subject`
|
|||
|
|
|
|||
|
|
#### 修改学科
|
|||
|
|
|
|||
|
|
**接口地址**:`PUT /api/subject`
|
|||
|
|
|
|||
|
|
#### 删除学科
|
|||
|
|
|
|||
|
|
**接口地址**:`DELETE /api/subject/{subjectId}`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 8. 开放API接口
|
|||
|
|
|
|||
|
|
> 供第三方应用调用,需要AppId + AppSecret签名认证
|
|||
|
|
|
|||
|
|
### 8.1 签名规则
|
|||
|
|
|
|||
|
|
**请求头**
|
|||
|
|
|
|||
|
|
| Header | 必填 | 说明 |
|
|||
|
|
|--------|:----:|------|
|
|||
|
|
| X-App-Id | 是 | 应用编码 |
|
|||
|
|
| X-Timestamp | 是 | 时间戳(毫秒)|
|
|||
|
|
| X-Sign | 是 | 签名 |
|
|||
|
|
|
|||
|
|
**签名算法**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
1. 将所有请求参数按参数名ASCII升序排序
|
|||
|
|
2. 拼接成 key1=value1&key2=value2 格式
|
|||
|
|
3. 末尾追加 &appSecret=xxx
|
|||
|
|
4. 对整个字符串进行MD5加密(32位大写)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**示例**
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
请求参数:pageNum=1&pageSize=10&schoolId=1
|
|||
|
|
拼接后:pageNum=1&pageSize=10&schoolId=1&appSecret=abc123
|
|||
|
|
MD5签名:E5D7C6B5A4F3E2D1C0B9A8F7E6D5C4B3
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 8.2 查询学生列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /open/student/list`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|-----|------|:----:|------|
|
|||
|
|
| schoolId | long | 否 | 学校ID |
|
|||
|
|
| gradeId | long | 否 | 年级ID |
|
|||
|
|
| classId | long | 否 | 班级ID |
|
|||
|
|
| pageNum | int | 是 | 页码 |
|
|||
|
|
| pageSize | int | 是 | 每页条数 |
|
|||
|
|
|
|||
|
|
### 8.3 查询学校列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /open/school/list`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|-----|------|:----:|------|
|
|||
|
|
| regionId | long | 否 | 区域ID |
|
|||
|
|
| pageNum | int | 是 | 页码 |
|
|||
|
|
| pageSize | int | 是 | 每页条数 |
|
|||
|
|
|
|||
|
|
### 8.4 查询年级列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /open/grade/list`
|
|||
|
|
|
|||
|
|
### 8.5 查询班级列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /open/class/list`
|
|||
|
|
|
|||
|
|
### 8.6 查询区域树
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /open/region/tree`
|
|||
|
|
|
|||
|
|
### 8.7 查询会员列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /open/member/list`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
| 参数 | 类型 | 必填 | 说明 |
|
|||
|
|
|-----|------|:----:|------|
|
|||
|
|
| phone | string | 否 | 手机号 |
|
|||
|
|
| schoolId | long | 否 | 学校ID |
|
|||
|
|
| pageNum | int | 是 | 页码 |
|
|||
|
|
| pageSize | int | 是 | 每页条数 |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 9. 移动端接口
|
|||
|
|
|
|||
|
|
### 9.1 获取当前用户信息
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /app/member/info`
|
|||
|
|
|
|||
|
|
**响应结果**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"code": 200,
|
|||
|
|
"msg": "查询成功",
|
|||
|
|
"data": {
|
|||
|
|
"memberId": 1,
|
|||
|
|
"memberCode": "JS123456789",
|
|||
|
|
"phone": "138****5678",
|
|||
|
|
"nickname": "用户昵称",
|
|||
|
|
"avatar": "https://...",
|
|||
|
|
"gender": "1",
|
|||
|
|
"identityType": "1",
|
|||
|
|
"students": [
|
|||
|
|
{
|
|||
|
|
"studentId": 1,
|
|||
|
|
"studentName": "张三",
|
|||
|
|
"schoolName": "武汉市第一中学",
|
|||
|
|
"gradeName": "七年级",
|
|||
|
|
"className": "1班"
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 9.2 修改个人信息
|
|||
|
|
|
|||
|
|
**接口地址**:`PUT /app/member/info`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"nickname": "新昵称",
|
|||
|
|
"avatar": "https://...",
|
|||
|
|
"gender": "1"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 9.3 修改密码
|
|||
|
|
|
|||
|
|
**接口地址**:`PUT /app/member/updatePwd`
|
|||
|
|
|
|||
|
|
**请求参数**
|
|||
|
|
|
|||
|
|
```json
|
|||
|
|
{
|
|||
|
|
"oldPassword": "123456",
|
|||
|
|
"newPassword": "654321"
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 9.4 获取我的学生列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /app/student/myList`
|
|||
|
|
|
|||
|
|
### 9.5 获取学校列表
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /app/school/list`
|
|||
|
|
|
|||
|
|
### 9.6 获取区域树
|
|||
|
|
|
|||
|
|
**接口地址**:`GET /app/region/tree`
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
*文档结束*
|