|
|
|
# 机会导向管理后台接口(非正式版)
|
|
|
|
|
|
|
|
## 全局统一设定
|
|
|
|
|
|
|
|
### 请求头指定要求的字段
|
|
|
|
|
|
|
|
| 字段 | 说明 |
|
|
|
|
| ------------------ | ---------------------------- |
|
|
|
|
| x-mmm-accesstoken | 发起请求时使用时校验用 token |
|
|
|
|
| x-mmm-refreshtoken | 刷新 token 时使用的 token |
|
|
|
|
|
|
|
|
- 备注 :token 使用 jwt 进行处理.其中包含有 user_id、company_id 的数据,登录时获取
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### token 机制描述
|
|
|
|
|
|
|
|
token 的响应内容
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NzYwNTM2OTAsImlhdCI6MTU3NjA1MTg4OCwiaXNzIjoibW1tX29wcG1nIiwibmJmIjoxNTc2MDUxODg4LCJ1aWQiOjEwLCJjb21wYW55X2lkIjoyfQ.R056B306_vO4UKfMRalncFULE5Z0phN4WOhS9PMwydc",
|
|
|
|
"expires_in": 1576053688,
|
|
|
|
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NzYwNTU0OTAsImlhdCI6MTU3NjA1MTg4OCwiaXNzIjoibW1tX29wcG1nIiwibmJmIjoxNTc2MDUxODg4LCJ1aWQiOjEwLCJjb21wYW55X2lkIjoyfQ.OY54QdDwAq2B1NPnAmHkSxy_KvhktmZA2boSlcSSfoU",
|
|
|
|
"refresh_expires": 1576055488
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
客户端可本地存储该内容数据。
|
|
|
|
|
|
|
|
- access_token 对应请求头的 x-mmm-accesstoken。expires_in 指的是 access_token 的到期时间(时间戳),客户端可以依此判断 access_token 到期时间,然后决定是否调用接口刷新 token。
|
|
|
|
- refresh_token 对应请求头的 x-mmm-refreshtoken。refresh_expires 指的是 refresh_token 的到期时间(时间戳),客户端可以依此判断 refresh_token 到期时间,然后决定是否退出重新登录。
|
|
|
|
- 刷新 toke 的依据是 refresh_token,如果 refresh_token 过期失效则只能退出系统重新登录。
|
|
|
|
- 为应对客户端未主动刷新 token 的情况。当服务端发现 access_token 过期且 refresh_token 未过期时返回错误码【2】,并附带刷新后的 token,影响的内容格式同上,客户端可依此刷新请求头。当服务端发现 refresh_token 过期时返回错误码【3】,客户需要退出重新登录。
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### 通用响应结构
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": "错误码数字",
|
|
|
|
"msg": "错误描述字符串",
|
|
|
|
"data": {
|
|
|
|
"xxx": "any"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注:data 中的内容根据各接口实际情况确定
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## 认证相关
|
|
|
|
|
|
|
|
### 登录
|
|
|
|
|
|
|
|
- 请求路径 :/auth/login
|
|
|
|
- 请求方式 :POST
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"account": "账号",
|
|
|
|
"password": "密码"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 正常响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"token":""
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": {
|
|
|
|
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NzYwNTM2OTAsImlhdCI6MTU3NjA1MTg4OCwiaXNzIjoibW1tX29wcG1nIiwibmJmIjoxNTc2MDUxODg4LCJ1aWQiOjEwLCJjb21wYW55X2lkIjoyfQ.R056B306_vO4UKfMRalncFULE5Z0phN4WOhS9PMwydc",
|
|
|
|
"expires_in": 1576053688,
|
|
|
|
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NzYwNTU0OTAsImlhdCI6MTU3NjA1MTg4OCwiaXNzIjoibW1tX29wcG1nIiwibmJmIjoxNTc2MDUxODg4LCJ1aWQiOjEwLCJjb21wYW55X2lkIjoyfQ.OY54QdDwAq2B1NPnAmHkSxy_KvhktmZA2boSlcSSfoU",
|
|
|
|
"refresh_expires": 1576055488
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注:该请求无需指定请求头
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### 刷新 token
|
|
|
|
|
|
|
|
- 请求路径 :/v1/auth/refresh_token
|
|
|
|
- 请求方式 :get
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
- 正常响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": {
|
|
|
|
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NzYwNTM2OTAsImlhdCI6MTU3NjA1MTg4OCwiaXNzIjoibW1tX29wcG1nIiwibmJmIjoxNTc2MDUxODg4LCJ1aWQiOjEwLCJjb21wYW55X2lkIjoyfQ.R056B306_vO4UKfMRalncFULE5Z0phN4WOhS9PMwydc",
|
|
|
|
"expires_in": 1576053688,
|
|
|
|
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NzYwNTU0OTAsImlhdCI6MTU3NjA1MTg4OCwiaXNzIjoibW1tX29wcG1nIiwibmJmIjoxNTc2MDUxODg4LCJ1aWQiOjEwLCJjb21wYW55X2lkIjoyfQ.OY54QdDwAq2B1NPnAmHkSxy_KvhktmZA2boSlcSSfoU",
|
|
|
|
"refresh_expires": 1576055488
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注:无
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### 切换公司
|
|
|
|
|
|
|
|
- 请求路径 :/v1/auth/change_company
|
|
|
|
- 请求方式 :post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"company_id": 2
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 正常响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": {
|
|
|
|
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NzYwNTM2OTAsImlhdCI6MTU3NjA1MTg4OCwiaXNzIjoibW1tX29wcG1nIiwibmJmIjoxNTc2MDUxODg4LCJ1aWQiOjEwLCJjb21wYW55X2lkIjoyfQ.R056B306_vO4UKfMRalncFULE5Z0phN4WOhS9PMwydc",
|
|
|
|
"expires_in": 1576053688,
|
|
|
|
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NzYwNTU0OTAsImlhdCI6MTU3NjA1MTg4OCwiaXNzIjoibW1tX29wcG1nIiwibmJmIjoxNTc2MDUxODg4LCJ1aWQiOjEwLCJjb21wYW55X2lkIjoyfQ.OY54QdDwAq2B1NPnAmHkSxy_KvhktmZA2boSlcSSfoU",
|
|
|
|
"refresh_expires": 1576055488
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注:切换公司实际是变更 token 信息
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## 公司部门管理
|
|
|
|
|
|
|
|
### 部门列表
|
|
|
|
|
|
|
|
- 请求路径:/v1/department/list
|
|
|
|
- 请求方式:post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 正常响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": {
|
|
|
|
"lists": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"company_id": 1,
|
|
|
|
"name": "部门1",
|
|
|
|
"parant_id": 0,
|
|
|
|
"manages": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"name": "主管"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"member": 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 2,
|
|
|
|
"company_id": 1,
|
|
|
|
"name": "部门1-2",
|
|
|
|
"parant_id": 1,
|
|
|
|
"manages": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"name": "主管"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"member": 1
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注;无
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### 添加部门
|
|
|
|
|
|
|
|
- 请求路径:/v1/department/add
|
|
|
|
- 请求方式:post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"name": "部门8",
|
|
|
|
"parent_id": 13,
|
|
|
|
"manages": [1, 2, 3] //部门主管id列表
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 正常响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": {
|
|
|
|
"id": 12 //部门id
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注;无
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### 编辑部门
|
|
|
|
|
|
|
|
- 请求路径:/v1/department/edit
|
|
|
|
- 请求方式:post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"name": "部门8",
|
|
|
|
"parent_id": 13,
|
|
|
|
"manages": [1, 2, 3] //部门主管id列表
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": null
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注;无
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### 删除部门
|
|
|
|
|
|
|
|
- 请求路径:/v1/department/delete
|
|
|
|
- 请求方式:post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"ids": [1, 2]
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": null
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注;无
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## 公司职位管理
|
|
|
|
|
|
|
|
### 职位列表
|
|
|
|
|
|
|
|
- 请求路径:/v1/position/list
|
|
|
|
- 请求方式:post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"name": "董事长",
|
|
|
|
"parent_id": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 2,
|
|
|
|
"name": "总经理",
|
|
|
|
"parent_id": 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 3,
|
|
|
|
"name": "副总经理",
|
|
|
|
"parent_id": 2
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 4,
|
|
|
|
"name": "技术总监",
|
|
|
|
"parent_id": 2
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 5,
|
|
|
|
"name": "职位a",
|
|
|
|
"parent_id": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 6,
|
|
|
|
"name": "职位b-1",
|
|
|
|
"parent_id": 9
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 7,
|
|
|
|
"name": "职位a-2",
|
|
|
|
"parent_id": 5
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 8,
|
|
|
|
"name": "职位a-1-1",
|
|
|
|
"parent_id": 6
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 9,
|
|
|
|
"name": "职位b-1",
|
|
|
|
"parent_id": 0
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注;无
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### 添加职位
|
|
|
|
|
|
|
|
- 请求路径:/v1/position/add
|
|
|
|
- 请求方式:post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"name": "职位b-1",
|
|
|
|
"parent_id": 8
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": {
|
|
|
|
"id": 2
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注;无
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### 编辑职位
|
|
|
|
|
|
|
|
- 请求路径:/v1/position/edit
|
|
|
|
- 请求方式:post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"id": 2,
|
|
|
|
"name": "职位b-1",
|
|
|
|
"parent_id": 8
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": {
|
|
|
|
"id": 2
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注;无
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### 删除职位
|
|
|
|
|
|
|
|
- 请求路径:/v1/position/delete
|
|
|
|
- 请求方式:post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"ids": [1, 2, 3]
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": null
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注;无
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## 公司员工角色
|
|
|
|
|
|
|
|
### 角色列表
|
|
|
|
|
|
|
|
- 请求路径:/v1/rbac/role/list
|
|
|
|
- 请求方式:post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": {
|
|
|
|
"list": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"company_id": 1,
|
|
|
|
"name": "部门1",
|
|
|
|
"parant_id": 0,
|
|
|
|
"manages": [],
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"name": "Jennifer Clark"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"member": 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 2,
|
|
|
|
"company_id": 1,
|
|
|
|
"name": "部门1-2",
|
|
|
|
"parant_id": 1,
|
|
|
|
"manages": [],
|
|
|
|
"members": [],
|
|
|
|
"member": 1
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 3,
|
|
|
|
"company_id": 1,
|
|
|
|
"name": "部门1-2-3",
|
|
|
|
"parant_id": 2,
|
|
|
|
"manages": [],
|
|
|
|
"members": [],
|
|
|
|
"member": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 4,
|
|
|
|
"company_id": 1,
|
|
|
|
"name": "部门1-2-4",
|
|
|
|
"parant_id": 2,
|
|
|
|
"manages": [],
|
|
|
|
"members": [],
|
|
|
|
"member": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 5,
|
|
|
|
"company_id": 1,
|
|
|
|
"name": "部门1-2-5",
|
|
|
|
"parant_id": 3,
|
|
|
|
"manages": [],
|
|
|
|
"members": [],
|
|
|
|
"member": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 7,
|
|
|
|
"company_id": 1,
|
|
|
|
"name": "部门1-2-5-7",
|
|
|
|
"parant_id": 5,
|
|
|
|
"manages": [],
|
|
|
|
"members": [],
|
|
|
|
"member": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 10,
|
|
|
|
"company_id": 1,
|
|
|
|
"name": "部门2",
|
|
|
|
"parant_id": 0,
|
|
|
|
"manages": [],
|
|
|
|
"members": [],
|
|
|
|
"member": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 26,
|
|
|
|
"company_id": 1,
|
|
|
|
"name": "部门名称1",
|
|
|
|
"parant_id": 1,
|
|
|
|
"manages": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"name": "Jennifer Clark"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"members": [],
|
|
|
|
"member": 0
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 27,
|
|
|
|
"company_id": 1,
|
|
|
|
"name": "部门名称1",
|
|
|
|
"parant_id": 1,
|
|
|
|
"manages": [],
|
|
|
|
"members": [],
|
|
|
|
"member": 0
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注;无
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### 添加角色
|
|
|
|
|
|
|
|
- 请求路径:/v1/rbac/role/add
|
|
|
|
- 请求方式:post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"pid": 8,
|
|
|
|
"name": "角色7"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": {
|
|
|
|
"id": 2
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注;无
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### 编辑角色
|
|
|
|
|
|
|
|
- 请求路径:/v1/rbac/role/edit
|
|
|
|
- 请求方式:post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"id": 7,
|
|
|
|
"pid": 8,
|
|
|
|
"name": "角色7"
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": {
|
|
|
|
"id": 2
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### 删除角色
|
|
|
|
|
|
|
|
- 请求路径:/v1/rbac/role/delete
|
|
|
|
- 请求方式:post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"id": 1
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": 0,
|
|
|
|
"msg": "成功",
|
|
|
|
"data": null
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 备注;无
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
- 备注;无
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## 公告
|
|
|
|
|
|
|
|
### 添加公告
|
|
|
|
|
|
|
|
- 请求路径 :/v1/bulletin/add
|
|
|
|
- 请求方式 :post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"type": 2,
|
|
|
|
"title": "标题",
|
|
|
|
"content": "公告内容",
|
|
|
|
"allow_close": 0,
|
|
|
|
"question_switch": 1,
|
|
|
|
"receiver": ["1", "2"],
|
|
|
|
"question": {
|
|
|
|
"id": 1,
|
|
|
|
"type": 1,
|
|
|
|
"title": "今天星期几?",
|
|
|
|
"content": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"content": "星期1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 2,
|
|
|
|
"content": "星期2"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"cover": {
|
|
|
|
"path": "/xx/xx.img",
|
|
|
|
"w": 50,
|
|
|
|
"h": 70
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
obj.type 公告类型(1图+跳转链接、2纯文本)
|
|
|
|
obj.title 标题
|
|
|
|
obj.content 公告内容
|
|
|
|
obj.allow_close 允许关闭公告(0允许关闭窗口,1阅读完才能关闭,2选项打勾后才能关闭)
|
|
|
|
obj.question_switch 设置问题开关 (是否有问题) 1:是 0:否
|
|
|
|
obj.receiver 接收者
|
|
|
|
obj.question.type 类型:0-单选,1-多选
|
|
|
|
obj.question.title 标题
|
|
|
|
obj.question.content 问题选项
|
|
|
|
obj.cover 封面
|
|
|
|
```
|
|
|
|
|
|
|
|
- 响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": "00000",
|
|
|
|
"msg": "成功",
|
|
|
|
"data": {}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### 公告列表
|
|
|
|
|
|
|
|
- 请求路径 :/v1/bulletin/list
|
|
|
|
- 请求方式 :post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"page": 1,
|
|
|
|
"page_size": 20,
|
|
|
|
"status": 0
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
obj.status 状态 0-所有 1-下架 2-上架
|
|
|
|
```
|
|
|
|
|
|
|
|
- 响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": "00000",
|
|
|
|
"msg": "成功",
|
|
|
|
"data": {
|
|
|
|
"list": [
|
|
|
|
{
|
|
|
|
"id": 5,
|
|
|
|
"type": 2,
|
|
|
|
"title": "测试公告",
|
|
|
|
"status": 1,
|
|
|
|
"receiver": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"name": "Jennifer Clark"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 2,
|
|
|
|
"name": "邓娱婷1208"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"time": "2019-12-11 17:11:43"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"Total": 2
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### 公告详情
|
|
|
|
|
|
|
|
- 请求路径 :/v1/bulletin/get
|
|
|
|
- 请求方式 :post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"id": 5
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
obj.status 状态 0-所有 1-下架 2-上架
|
|
|
|
```
|
|
|
|
|
|
|
|
- 响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": "00000",
|
|
|
|
"msg": "成功",
|
|
|
|
"data": {
|
|
|
|
"id": 5,
|
|
|
|
"type": 2,
|
|
|
|
"title": "测试公告",
|
|
|
|
"content": "今天发布了一则公告",
|
|
|
|
"allow_close": 0,
|
|
|
|
"question_switch": 1,
|
|
|
|
"receiver": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"name": "Jennifer Clark"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 2,
|
|
|
|
"name": "邓娱婷1208"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"question": {
|
|
|
|
"id": 4,
|
|
|
|
"type": 1,
|
|
|
|
"title": "今天星期几?",
|
|
|
|
"content": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"content": "星期1"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 2,
|
|
|
|
"content": "星期2"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"cover": {
|
|
|
|
"path": "/xx/xx.img",
|
|
|
|
"h": 70,
|
|
|
|
"w": 50
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
### 公告更新
|
|
|
|
|
|
|
|
- 请求路径 :/v1/bulletin/update
|
|
|
|
- 请求方式 :post
|
|
|
|
- 请求 json:
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"id": 3,
|
|
|
|
"type": 2,
|
|
|
|
"title": "测试公告3",
|
|
|
|
"content": "今天发布了一则公告3",
|
|
|
|
"allow_close": 0,
|
|
|
|
"question_switch": 1,
|
|
|
|
"receiver": ["1", "2", "3"],
|
|
|
|
"question": {
|
|
|
|
"id": 2,
|
|
|
|
"type": 1,
|
|
|
|
"title": "今天星期几?",
|
|
|
|
"content": [
|
|
|
|
{
|
|
|
|
"id": 1,
|
|
|
|
"content": "星期2"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"id": 2,
|
|
|
|
"content": "星期3"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"cover": {
|
|
|
|
"path": "/xx/xx.img",
|
|
|
|
"w": 50,
|
|
|
|
"h": 70
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
- 响应 json
|
|
|
|
|
|
|
|
```json
|
|
|
|
{
|
|
|
|
"code": "00000",
|
|
|
|
"msg": "成功",
|
|
|
|
"data": null
|
|
|
|
}
|
|
|
|
``` |