Files
full/module/base/mgt/doc/user.md

427 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 用户模块接口文档
基础路径:`POST /mgt/user/*`,需 JWT 认证。
---
## 1. 新增用户
**路径**`POST /mgt/user/create`
**请求体**UserRequest
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| account | string | 是 | 账户3-50 位,创建时必填 |
| phone | string | 是 | 手机号,创建时必填 |
| password | string | 是 | 密码6-50 位,创建时必填 |
| name | string | 否 | 名称,最长 100 |
| email | string | 否 | 邮箱 |
| avatar | string | 否 | 头像 URL最长 500 |
| roles | string | 否 | 角色(预留) |
**请求示例**
```json
{
"account": "zhangsan",
"phone": "13800138000",
"password": "abc12345",
"name": "张三",
"email": "zhangsan@example.com"
}
```
**返回**IdResp
| 参数 | 类型 | 说明 |
|------|------|------|
| id | number | 用户 ID |
| identity | string | 用户唯一标识 |
**返回示例**
```json
{
"code": 0,
"data": {
"id": 1,
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
}
}
```
---
## 2. 删除用户
**路径**`POST /mgt/user/del`
**请求体**
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | number | 是 | 用户 ID |
**请求示例**
```json
{
"id": 1
}
```
**返回示例**
```json
{
"code": 0,
"data": {
"id": 1,
"identity": ""
}
}
```
---
## 3. 用户详情
**路径**`POST /mgt/user/detail`
**请求体**
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | number | 是 | 用户 ID |
**请求示例**
```json
{
"id": 1
}
```
**返回**UserResp
| 参数 | 类型 | 说明 |
|------|------|------|
| id | number | 用户 ID |
| identity | string | 唯一标识 |
| account | string | 账户 |
| name | string | 姓名 |
| phone | string | 手机号 |
| email | string | 邮箱 |
| avatar | string | 头像 |
| status | number | 状态 |
| created_at | string | 创建时间 |
**返回示例**
```json
{
"code": 0,
"data": {
"id": 1,
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
"account": "zhangsan",
"name": "张三",
"phone": "13800138000",
"email": "zhangsan@example.com",
"avatar": "https://example.com/avatar.png",
"status": 1,
"created_at": "2025-03-16 10:00:00"
}
}
```
---
## 4. 修改用户
**路径**`POST /mgt/user/modify`
**请求体**
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | number | 是 | 用户 ID |
| name | string | 否 | 名称 |
| phone | string | 否 | 手机号 |
| email | string | 否 | 邮箱 |
| avatar | string | 否 | 头像 URL |
| password | string | 否 | 新密码6-50 位 |
| status | number | 否 | 状态 |
**请求示例**
```json
{
"id": 1,
"name": "张三丰",
"phone": "13900139000"
}
```
**返回示例**
```json
{
"code": 0,
"data": {
"id": 1,
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
}
}
```
---
## 5. 获取用户列表(分页)
**路径**`POST /mgt/user/fetch`
**请求体**(继承 FetchBase
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| page | number | 否 | 页码,默认 1 |
| size | number | 否 | 每页条数 |
| keyword | string | 否 | 关键字,模糊匹配姓名/账户/手机号 |
| status | number | 否 | 状态筛选 |
**请求示例**
```json
{
"page": 1,
"size": 10,
"keyword": "张",
"status": 1
}
```
**返回**FetchRespdata 为 UserResp 数组):
| 参数 | 类型 | 说明 |
|------|------|------|
| total | number | 总条数 |
| page | number | 当前页 |
| size | number | 每页条数 |
| data | array | 用户列表 |
**返回示例**
```json
{
"code": 0,
"data": {
"total": 2,
"page": 1,
"size": 10,
"data": [
{
"id": 1,
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
"account": "zhangsan",
"name": "张三",
"phone": "13800138000",
"email": "zhangsan@example.com",
"avatar": "",
"status": 1,
"created_at": "2025-03-16 10:00:00"
}
]
}
}
```
---
## 6. 用户列表(下拉,不分页)
**路径**`POST /mgt/user/list`
**说明**:按应用编码 workspace 查询该应用下用户,用于下拉选择。
**请求体**
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| workspace | string | 是 | 应用编码 |
| keyword | string | 否 | 关键字,模糊匹配姓名 |
| status | number | 否 | 状态 |
**请求示例**
```json
{
"workspace": "my_app",
"keyword": "张"
}
```
**返回**FetchRespdata 为 UserResp 数组,无分页字段):
```json
{
"code": 0,
"data": {
"data": [
{
"id": 1,
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
"account": "zhangsan",
"name": "张三",
"phone": "13800138000",
"email": "zhangsan@example.com",
"avatar": "",
"status": 1,
"created_at": "2025-03-16 10:00:00"
}
]
}
}
```
---
## 7. 给用户设置角色
**路径**`POST /mgt/user/set_role`
**请求体**UserRoleRequest
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| user_id | number | 是 | 用户 ID大于 0 |
| role_id | number[] | 是 | 角色 ID 列表,至少 1 个,每个大于 0 |
**请求示例**
```json
{
"user_id": 1,
"role_id": [1, 2]
}
```
**返回示例**
```json
{
"code": 0,
"data": ""
}
```
---
## 8. 给用户移除角色
**路径**`POST /mgt/user/del_role`
**请求体**:同 set_roleuser_id + role_id 数组。
**请求示例**
```json
{
"user_id": 1,
"role_id": [2]
}
```
---
## 9. 获取用户角色列表
**路径**`POST /mgt/user/role`
**请求体**FetchBase传 id 表示用户 ID。
**请求示例**
```json
{
"id": 1
}
```
**返回**data 为角色列表(含 id、identity、name 等)。
---
## 10. 给用户设置权限
**路径**`POST /mgt/user/set_pmn`
**请求体**AddPmnRequest
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| workspace | string | 否 | 应用编码 |
| id | number | 是 | 用户 ID |
| list | number[] | 是 | 权限 ID 列表,至少 1 个 |
**请求示例**
```json
{
"workspace": "my_app",
"id": 1,
"list": [1, 2, 3]
}
```
---
## 11. 给用户编辑权限(按应用覆盖)
**路径**`POST /mgt/user/modify_pmn`
**请求体**:同 set_pmn按应用维度覆盖该用户在该应用下的权限。
---
## 12. 给用户移除权限
**路径**`POST /mgt/user/del_pmn`
**请求体**:同 set_pmnlist 为要移除的权限 ID 列表。
---
## 13. 获取用户应用列表
**路径**`POST /mgt/user/app`
**请求体**FetchBaseid 为用户 ID。
**请求示例**
```json
{
"id": 1
}
```
---
## 14. 获取用户权限列表(平面)
**路径**`POST /mgt/user/pmn`
**请求体**FetchBaseid 为用户 ID可选 workspace 过滤应用。
---
## 15. 获取用户权限树(用户->应用->权限)
**路径**`POST /mgt/user/pmn_tree`
**请求体**:同上。
**返回**data 为按应用聚合的权限树结构。