feat: import services and standardize Go 1.26.5
This commit is contained in:
15
apps/base/mgt/doc/README.md
Normal file
15
apps/base/mgt/doc/README.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# mgt 接口文档索引
|
||||
|
||||
接口基础地址:`http(s)://{host}:{port}/mgt/`
|
||||
除公开接口外,需在请求头携带:`Authorization: Bearer {token}`。
|
||||
|
||||
| 模块 | 说明 | 文档 |
|
||||
|------|------|------|
|
||||
| 公开接口 | 登录、刷新 Token、重置密码、Ping、Session | [pub.md](pub.md) |
|
||||
| 用户 | 用户 CRUD、角色/权限/应用关联、列表与下拉 | [user.md](user.md) |
|
||||
| 应用 | 应用 CRUD、用户/角色/权限列表 | [app.md](app.md) |
|
||||
| 角色 | 角色 CRUD、用户/应用/权限关联 | [role.md](role.md) |
|
||||
| 权限 | 权限 CRUD、排序、用户/角色关联查询 | [pmn.md](pmn.md) |
|
||||
| 部门 | 部门 CRUD、树与列表、部门权限、部门用户移入移出 | [dpt.md](dpt.md) |
|
||||
|
||||
文档内请求/响应示例均使用有意义的示例值,无空字符串或无意义的零值占位。
|
||||
245
apps/base/mgt/doc/app.md
Normal file
245
apps/base/mgt/doc/app.md
Normal file
@@ -0,0 +1,245 @@
|
||||
# 应用模块接口文档
|
||||
|
||||
基础路径:`POST /mgt/app/*`,需 JWT 认证。
|
||||
|
||||
---
|
||||
|
||||
## 1. 新增应用
|
||||
|
||||
**路径**:`POST /mgt/app/create`
|
||||
|
||||
**请求体**(ApplicationRequest):
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| title | string | 否 | 应用名称,1-200 位 |
|
||||
| workspace | string | 否 | 工作空间标识,1-100 位,与 title 至少填其一 |
|
||||
| description | string | 否 | 描述,最长 1000 |
|
||||
| page | number | 否 | 分页用 |
|
||||
| size | number | 否 | 分页用 |
|
||||
| keyword | string | 否 | 关键字 |
|
||||
| status | number | 否 | 状态 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"title": "后台管理系统",
|
||||
"workspace": "admin_console",
|
||||
"description": "运营与配置管理"
|
||||
}
|
||||
```
|
||||
|
||||
**返回**(IdResp):
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. 删除应用
|
||||
|
||||
**路径**:`POST /mgt/app/del`
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| id | number | 是 | 应用 ID |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. 应用详情
|
||||
|
||||
**路径**:`POST /mgt/app/detail`
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| id | number | 是 | 应用 ID |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回**(ApplicationRsp):
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | number | 应用 ID |
|
||||
| identity | string | 唯一标识 |
|
||||
| title | string | 应用名称 |
|
||||
| code | string | 编码(与 workspace 对应) |
|
||||
| description | string | 描述 |
|
||||
| created_at | string | 创建时间 |
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
|
||||
"title": "后台管理系统",
|
||||
"code": "admin_console",
|
||||
"description": "运营与配置管理",
|
||||
"created_at": "2025-03-16 10:00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 修改应用
|
||||
|
||||
**路径**:`POST /mgt/app/modify`
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| id | number | 是 | 应用 ID |
|
||||
| title | string | 否 | 应用名称 |
|
||||
| workspace | string | 否 | 工作空间标识 |
|
||||
| description | string | 否 | 描述 |
|
||||
| status | number | 否 | 状态 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"title": "运营后台",
|
||||
"description": "运营与配置管理 v2"
|
||||
}
|
||||
```
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. 获取应用列表(分页)
|
||||
|
||||
**路径**:`POST /mgt/app/fetch`
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| page | number | 否 | 页码 |
|
||||
| size | number | 否 | 每页条数 |
|
||||
| keyword | string | 否 | 关键字,模糊匹配 title/code |
|
||||
| status | number | 否 | 状态 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"page": 1,
|
||||
"size": 10,
|
||||
"keyword": "后台",
|
||||
"status": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回**(FetchResp,data 为 ApplicationRsp 数组):
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"total": 1,
|
||||
"page": 1,
|
||||
"size": 10,
|
||||
"data": [
|
||||
{
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
|
||||
"title": "后台管理系统",
|
||||
"code": "admin_console",
|
||||
"description": "运营与配置管理",
|
||||
"created_at": "2025-03-16 10:00:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. 获取应用用户列表
|
||||
|
||||
**路径**:`POST /mgt/app/user`
|
||||
|
||||
**请求体**:FetchBase,id 为应用 ID。
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回**:data 为该应用下的用户列表。
|
||||
|
||||
---
|
||||
|
||||
## 7. 获取应用角色列表
|
||||
|
||||
**路径**:`POST /mgt/app/role`
|
||||
|
||||
**请求体**:同上,id 为应用 ID。
|
||||
|
||||
---
|
||||
|
||||
## 8. 获取应用权限列表
|
||||
|
||||
**路径**:`POST /mgt/app/pmn`
|
||||
|
||||
**请求体**:同上,id 为应用 ID。
|
||||
|
||||
**返回**:data 为该应用下的权限列表。
|
||||
468
apps/base/mgt/doc/dpt.md
Normal file
468
apps/base/mgt/doc/dpt.md
Normal file
@@ -0,0 +1,468 @@
|
||||
# 部门模块接口文档
|
||||
|
||||
基础路径:`POST /mgt/dpt/*`,需 JWT 认证。
|
||||
部门按应用维度隔离:创建/列表/树等接口需传 `workspace` 表示所属应用。
|
||||
|
||||
---
|
||||
|
||||
## 1. 新增部门
|
||||
|
||||
**路径**:`POST /mgt/dpt/create`
|
||||
|
||||
**请求体**(DptReq):
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| workspace | string | 是 | 应用编码,部门归属应用 |
|
||||
| name | string | 是 | 部门名称,1-100 位,同应用下唯一 |
|
||||
| parent_id | number | 否 | 父部门 ID,0 或不传表示顶级 |
|
||||
| leader_id | number | 否 | 部门负责人用户 ID |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"workspace": "my_app",
|
||||
"name": "技术部",
|
||||
"parent_id": 0,
|
||||
"leader_id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回**(IdResp):
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. 删除部门
|
||||
|
||||
**路径**:`POST /mgt/dpt/del`
|
||||
|
||||
**说明**:会级联删除该部门及所有子部门,并清理部门-用户、部门-角色、部门-权限关联。
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| id | number | 是 | 部门 ID |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. 部门详情
|
||||
|
||||
**路径**:`POST /mgt/dpt/detail`
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| id | number | 是 | 部门 ID |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回**:data 含部门基础信息及负责人(leader)简要信息。
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | number | 部门 ID |
|
||||
| identity | string | 唯一标识 |
|
||||
| name | string | 部门名称 |
|
||||
| app_id | number | 应用 ID |
|
||||
| parent_id | number | 父部门 ID |
|
||||
| leader_id | number | 负责人用户 ID |
|
||||
| leader | object | 负责人信息(id、identity、name) |
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
|
||||
"name": "技术部",
|
||||
"app_id": 1,
|
||||
"parent_id": 0,
|
||||
"leader_id": 1,
|
||||
"leader": {
|
||||
"id": 1,
|
||||
"identity": "01HXXX",
|
||||
"name": "张三"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 修改部门
|
||||
|
||||
**路径**:`POST /mgt/dpt/modify`
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| id | number | 是 | 部门 ID |
|
||||
| name | string | 否 | 部门名称,同应用下唯一 |
|
||||
| parent_id | number | 否 | 父部门 ID(不能为自己或当前部门的子孙) |
|
||||
| leader_id | number | 否 | 负责人用户 ID |
|
||||
| status | number | 否 | 状态 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"name": "研发技术部",
|
||||
"parent_id": 0,
|
||||
"leader_id": 2
|
||||
}
|
||||
```
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. 获取部门列表(分页)
|
||||
|
||||
**路径**:`POST /mgt/dpt/fetch`
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| workspace | string | 是 | 应用编码 |
|
||||
| page | number | 否 | 页码 |
|
||||
| size | number | 否 | 每页条数 |
|
||||
| keyword | string | 否 | 关键字,模糊匹配部门名称 |
|
||||
| status | number | 否 | 状态 |
|
||||
| id | number | 否 | 指定部门 ID |
|
||||
| parent_id | number | 否 | 按父部门 ID 筛选 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"workspace": "my_app",
|
||||
"page": 1,
|
||||
"size": 10,
|
||||
"keyword": "技术",
|
||||
"status": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回**(FetchResp,data 为部门对象数组,含 id、identity、name、app_id、parent_id):
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"total": 1,
|
||||
"page": 1,
|
||||
"size": 10,
|
||||
"data": [
|
||||
{
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
|
||||
"name": "技术部",
|
||||
"app_id": 1,
|
||||
"parent_id": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. 部门列表(下拉/树)
|
||||
|
||||
**路径**:`POST /mgt/dpt/list`
|
||||
|
||||
**说明**:必传 workspace;`tree=true` 时返回树形结构,否则返回扁平列表。
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| workspace | string | 是 | 应用编码 |
|
||||
| keyword | string | 否 | 关键字,模糊匹配部门名称 |
|
||||
| status | number | 否 | 状态 |
|
||||
| tree | bool | 否 | true 时返回树形(含 children) |
|
||||
|
||||
**请求示例(扁平)**:
|
||||
|
||||
```json
|
||||
{
|
||||
"workspace": "my_app",
|
||||
"keyword": "技术"
|
||||
}
|
||||
```
|
||||
|
||||
**请求示例(树形)**:
|
||||
|
||||
```json
|
||||
{
|
||||
"workspace": "my_app",
|
||||
"tree": true
|
||||
}
|
||||
```
|
||||
|
||||
**返回示例(树形)**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"data": [
|
||||
{
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
|
||||
"name": "技术部",
|
||||
"app_id": 1,
|
||||
"parent_id": 0,
|
||||
"children": [
|
||||
{
|
||||
"id": 2,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FBW",
|
||||
"name": "前端组",
|
||||
"app_id": 1,
|
||||
"parent_id": 1,
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. 获取部门树
|
||||
|
||||
**路径**:`POST /mgt/dpt/fetch_tree`
|
||||
|
||||
**说明**:必传 workspace,返回该应用下完整部门树。
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| workspace | string | 是 | 应用编码 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"workspace": "my_app"
|
||||
}
|
||||
```
|
||||
|
||||
**返回**:data 为树形部门数组(结构同 list tree=true)。
|
||||
|
||||
---
|
||||
|
||||
## 8. 给部门设置权限
|
||||
|
||||
**路径**:`POST /mgt/dpt/set_pmn`
|
||||
|
||||
**请求体**(AddPmnRequest):
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| workspace | string | 否 | 应用编码,需与部门所属应用一致 |
|
||||
| id | number | 是 | 部门 ID |
|
||||
| list | number[] | 是 | 权限 ID 列表,至少 1 个 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"workspace": "my_app",
|
||||
"id": 1,
|
||||
"list": [1, 2, 3]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 9. 给部门编辑权限(按应用覆盖)
|
||||
|
||||
**路径**:`POST /mgt/dpt/modify_pmn`
|
||||
|
||||
**请求体**:同 set_pmn,按应用维度覆盖该部门在该应用下的权限。
|
||||
|
||||
---
|
||||
|
||||
## 10. 移除部门权限
|
||||
|
||||
**路径**:`POST /mgt/dpt/del_pmn`
|
||||
|
||||
**请求体**:同 set_pmn;**list 必填且至少一个元素**,为要移除的权限 ID 列表。
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"workspace": "my_app",
|
||||
"id": 1,
|
||||
"list": [2, 3]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 11. 获取部门权限列表(平面)
|
||||
|
||||
**路径**:`POST /mgt/dpt/pmn`
|
||||
|
||||
**说明**:可选 id 指定部门、workspace 过滤应用;**传 workspace 时仅返回该应用下部门权限**。
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| id | number | 否 | 部门 ID,不传则查所有部门 |
|
||||
| workspace | string | 否 | 应用编码,过滤应用维度 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"workspace": "my_app"
|
||||
}
|
||||
```
|
||||
|
||||
**返回**:data 为部门列表,每项含 id、identity、name 及 permissions 数组。
|
||||
|
||||
---
|
||||
|
||||
## 12. 获取部门权限树
|
||||
|
||||
**路径**:`POST /mgt/dpt/pmn_tree`
|
||||
|
||||
**说明**:部门下权限按父子建树;**传 workspace 时仅返回该应用下部门权限**。
|
||||
|
||||
**请求体**:同 pmn 接口(id、workspace 可选)。
|
||||
|
||||
**返回**:data 为部门列表,每项的 permissions 为树形权限结构。
|
||||
|
||||
---
|
||||
|
||||
## 13. 用户移入部门
|
||||
|
||||
**路径**:`POST /mgt/dpt/set_user`
|
||||
|
||||
**请求体**(DptUserRequest):
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| dpt_id | number | 是 | 部门 ID,大于 0 |
|
||||
| user_ids | number[] | 是 | 用户 ID 列表,至少 1 个,每个大于 0 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"dpt_id": 1,
|
||||
"user_ids": [1, 2, 3]
|
||||
}
|
||||
```
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": ""
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 14. 用户移出部门
|
||||
|
||||
**路径**:`POST /mgt/dpt/del_user`
|
||||
|
||||
**请求体**:同 set_user,user_ids 为要移出的用户 ID 列表。
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"dpt_id": 1,
|
||||
"user_ids": [2]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 15. 获取部门下用户列表
|
||||
|
||||
**路径**:`POST /mgt/dpt/user`
|
||||
|
||||
**说明**:**部门 ID 必传**,避免误用为“查全部部门用户”。
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| id | number | 是 | 部门 ID |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回**:data 为部门列表(通常一条),每项含 id、identity、name 及 users 数组(用户 id、identity、name)。
|
||||
308
apps/base/mgt/doc/pmn.md
Normal file
308
apps/base/mgt/doc/pmn.md
Normal file
@@ -0,0 +1,308 @@
|
||||
# 权限模块接口文档
|
||||
|
||||
基础路径:`POST /mgt/pmn/*`,需 JWT 认证。
|
||||
|
||||
---
|
||||
|
||||
## 1. 新增权限
|
||||
|
||||
**路径**:`POST /mgt/pmn/create`
|
||||
|
||||
**请求体**(PermissionRequest):
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| workspace | string | 是 | 应用编码,权限归属应用 |
|
||||
| title | string | 否 | 权限名称,1-100 位 |
|
||||
| title_en | string | 否 | 权限名称英文,最长 100 |
|
||||
| code | string | 是 | 权限标识,1-100 位,同应用下唯一 |
|
||||
| description | string | 否 | 权限描述,最长 1000 |
|
||||
| parent_id | number | 否 | 父级权限 ID,0 表示顶级 |
|
||||
| menu_path | string | 否 | 菜单路径,最长 500 |
|
||||
| menu_icon | string | 否 | 菜单图标,最长 100 |
|
||||
| type | number | 否 | 1=菜单 2=按钮 |
|
||||
| component | string | 否 | 组件路径,最长 255 |
|
||||
| sort_key | number | 否 | 排序键,≥0 |
|
||||
| is_web_page | bool | 否 | 是否网页 |
|
||||
| is_new_tab | bool | 否 | 是否新标签页打开 |
|
||||
| is_full | bool | 否 | 是否单独页面不包含菜单 |
|
||||
| hide_menu | bool | 否 | 是否隐藏菜单栏 |
|
||||
| web_url | string | 否 | 网页地址,最长 500 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"workspace": "my_app",
|
||||
"title": "用户管理",
|
||||
"code": "user:manage",
|
||||
"description": "用户列表与编辑",
|
||||
"parent_id": 0,
|
||||
"menu_path": "/system/user",
|
||||
"type": 1,
|
||||
"sort_key": 10
|
||||
}
|
||||
```
|
||||
|
||||
**返回**(IdResp):
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. 删除权限
|
||||
|
||||
**路径**:`POST /mgt/pmn/del`
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| id | number | 是 | 权限 ID |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. 权限详情
|
||||
|
||||
**路径**:`POST /mgt/pmn/detail`
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| id | number | 是 | 权限 ID |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回**(PermissionRsp):
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| id | number | 权限 ID |
|
||||
| identity | string | 唯一标识 |
|
||||
| title | string | 权限名称 |
|
||||
| title_en | string | 英文名称 |
|
||||
| code | string | 权限标识 |
|
||||
| description | string | 描述 |
|
||||
| app_id | number | 应用 ID |
|
||||
| parent_id | number | 父级 ID |
|
||||
| menu_path | string | 菜单路径 |
|
||||
| menu_icon | string | 菜单图标 |
|
||||
| type | number | 1=菜单 2=按钮 |
|
||||
| component | string | 组件路径 |
|
||||
| sort_key | number | 排序 |
|
||||
| is_web_page | bool | 是否网页 |
|
||||
| is_new_tab | bool | 是否新标签打开 |
|
||||
| is_full | bool | 是否单独页 |
|
||||
| hide_menu | bool | 是否隐藏菜单 |
|
||||
| web_url | string | 网页地址 |
|
||||
| created_at | string | 创建时间 |
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
|
||||
"title": "用户管理",
|
||||
"title_en": "User Manage",
|
||||
"code": "user:manage",
|
||||
"description": "用户列表与编辑",
|
||||
"app_id": 1,
|
||||
"parent_id": 0,
|
||||
"menu_path": "/system/user",
|
||||
"menu_icon": "user",
|
||||
"type": 1,
|
||||
"component": "/system/user/index",
|
||||
"sort_key": 10,
|
||||
"is_web_page": false,
|
||||
"is_new_tab": false,
|
||||
"is_full": false,
|
||||
"hide_menu": false,
|
||||
"web_url": "",
|
||||
"created_at": "2025-03-16 10:00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 修改权限
|
||||
|
||||
**路径**:`POST /mgt/pmn/modify`
|
||||
|
||||
**请求体**:与创建字段一致,id 必填,其余为要更新的字段。
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"title": "用户与角色管理",
|
||||
"sort_key": 5
|
||||
}
|
||||
```
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. 获取权限列表(分页)
|
||||
|
||||
**路径**:`POST /mgt/pmn/fetch`
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| page | number | 否 | 页码 |
|
||||
| size | number | 否 | 每页条数 |
|
||||
| keyword | string | 否 | 关键字,模糊匹配 title/code |
|
||||
| workspace | string | 否 | 应用编码,只查该应用下权限 |
|
||||
| status | number | 否 | 状态 |
|
||||
| id | number | 否 | 指定权限 ID |
|
||||
| sort_key | number | 否 | 非 0 时按 sort_key 降序 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"page": 1,
|
||||
"size": 20,
|
||||
"workspace": "my_app",
|
||||
"keyword": "用户",
|
||||
"status": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回**(FetchResp,data 为 PermissionRsp 数组):
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"total": 1,
|
||||
"page": 1,
|
||||
"size": 20,
|
||||
"data": [
|
||||
{
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
|
||||
"title": "用户管理",
|
||||
"code": "user:manage",
|
||||
"app_id": 1,
|
||||
"parent_id": 0,
|
||||
"sort_key": 10,
|
||||
"type": 1,
|
||||
"created_at": "2025-03-16 10:00:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. 权限排序
|
||||
|
||||
**路径**:`POST /mgt/pmn/sort`
|
||||
|
||||
**请求体**:数组,每项为 SortPmnRequest。
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| pmn_id | number | 是 | 权限 ID,大于 0 |
|
||||
| sort_key | number | 否 | 新排序序号,≥0 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
[
|
||||
{ "pmn_id": 1, "sort_key": 0 },
|
||||
{ "pmn_id": 2, "sort_key": 1 },
|
||||
{ "pmn_id": 3, "sort_key": 2 }
|
||||
]
|
||||
```
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": ""
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. 获取权限关联用户列表
|
||||
|
||||
**路径**:`POST /mgt/pmn/user`
|
||||
|
||||
**请求体**:FetchBase,id 为权限 ID。
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回**:data 为拥有该权限的用户列表。
|
||||
|
||||
---
|
||||
|
||||
## 8. 获取权限关联角色列表
|
||||
|
||||
**路径**:`POST /mgt/pmn/role`
|
||||
|
||||
**请求体**:同上,id 为权限 ID。
|
||||
|
||||
**返回**:data 为拥有该权限的角色列表。
|
||||
169
apps/base/mgt/doc/pub.md
Normal file
169
apps/base/mgt/doc/pub.md
Normal file
@@ -0,0 +1,169 @@
|
||||
# 公开接口文档(免鉴权)
|
||||
|
||||
基础路径:`/mgt/`,以下接口**不需要** JWT 认证。
|
||||
|
||||
---
|
||||
|
||||
## 1. 登录
|
||||
|
||||
**路径**:`POST /mgt/login`
|
||||
|
||||
**说明**:支持账号密码登录或 AppId/AppKey 登录,二选一。
|
||||
|
||||
**请求体**(LoginRequest):
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| account | string | 否 | 账号(与 password 一起使用) |
|
||||
| password | string | 否 | 密码 |
|
||||
| phone | string | 否 | 手机号,若使用需符合 phone 格式 |
|
||||
| phone_code | string | 否 | 手机验证码 |
|
||||
| workspace | string | 否 | 应用 workspace |
|
||||
| app_id | string | 否 | 应用 ID(与 app_key 一起使用) |
|
||||
| app_key | string | 否 | 应用密钥 |
|
||||
|
||||
**约束**:`account + password` 或 `app_id + app_key` 必须提供一组。
|
||||
|
||||
**请求示例(账号密码)**:
|
||||
|
||||
```json
|
||||
{
|
||||
"account": "zhangsan",
|
||||
"password": "abc12345",
|
||||
"workspace": "my_app"
|
||||
}
|
||||
```
|
||||
|
||||
**请求示例(应用密钥)**:
|
||||
|
||||
```json
|
||||
{
|
||||
"app_id": "my_app",
|
||||
"app_key": "secret_key_xxx"
|
||||
}
|
||||
```
|
||||
|
||||
**返回**(LoginResp):
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| token | string | JWT,后续请求放在 Header Authorization |
|
||||
| user_id | number | 用户 ID |
|
||||
| identity | string | 用户唯一标识 |
|
||||
| account | string | 账号 |
|
||||
| name | string | 姓名 |
|
||||
| phone | string | 手机号 |
|
||||
| email | string | 邮箱 |
|
||||
| avatar | string | 头像 |
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
|
||||
"user_id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
|
||||
"account": "zhangsan",
|
||||
"name": "张三",
|
||||
"phone": "13800138000",
|
||||
"email": "zhangsan@example.com",
|
||||
"avatar": "https://example.com/avatar.png"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. 刷新 Token
|
||||
|
||||
**路径**:`POST /mgt/refresh`
|
||||
|
||||
**说明**:基于当前请求中的 JWT 签发新 token。通常需在 Header 中带有效 Authorization。
|
||||
|
||||
**请求体**:无,或空 JSON `{}`。
|
||||
|
||||
**返回**:
|
||||
|
||||
| 参数 | 类型 | 说明 |
|
||||
|------|------|------|
|
||||
| token | string | 新的 JWT |
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. 重置密码(短信验证码)
|
||||
|
||||
**路径**:`POST /mgt/reset`
|
||||
|
||||
**请求体**(ForgetPwdRequest):
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| account | string | 是 | 账号 |
|
||||
| code | string | 是 | 短信验证码 |
|
||||
| password | string | 是 | 新密码,最少 6 位 |
|
||||
| phone | string | 是 | 手机号,需符合 phone 格式 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"account": "zhangsan",
|
||||
"code": "123456",
|
||||
"password": "newpass123",
|
||||
"phone": "13800138000"
|
||||
}
|
||||
```
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": "密码重置成功"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 健康检查 Ping
|
||||
|
||||
**路径**:`GET /mgt/ping`
|
||||
|
||||
**说明**:无需请求体,用于健康检查。
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "Pong"
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. Session 演示
|
||||
|
||||
**路径**:`GET /mgt/session`
|
||||
|
||||
**说明**:Session 示例接口,会写入并读取 session。
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"message": "Pong"
|
||||
}
|
||||
```
|
||||
275
apps/base/mgt/doc/role.md
Normal file
275
apps/base/mgt/doc/role.md
Normal file
@@ -0,0 +1,275 @@
|
||||
# 角色模块接口文档
|
||||
|
||||
基础路径:`POST /mgt/role/*`,需 JWT 认证。
|
||||
|
||||
---
|
||||
|
||||
## 1. 新增角色
|
||||
|
||||
**路径**:`POST /mgt/role/create`
|
||||
|
||||
**请求体**(RoleReq):
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| name | string | 是 | 角色名称,1-100 位 |
|
||||
| description | string | 否 | 角色描述,最长 1000 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "管理员",
|
||||
"description": "系统管理员,拥有全部权限"
|
||||
}
|
||||
```
|
||||
|
||||
**返回**(IdResp):
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2. 删除角色
|
||||
|
||||
**路径**:`POST /mgt/role/del`
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| id | number | 是 | 角色 ID |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. 角色详情
|
||||
|
||||
**路径**:`POST /mgt/role/detail`
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| id | number | 是 | 角色 ID |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回**:data 为角色对象(id、identity、name、description、status、created_at 等)。
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
|
||||
"name": "管理员",
|
||||
"description": "系统管理员,拥有全部权限",
|
||||
"status": 1,
|
||||
"created_at": "2025-03-16 10:00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 修改角色
|
||||
|
||||
**路径**:`POST /mgt/role/modify`
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| id | number | 是 | 角色 ID |
|
||||
| name | string | 否 | 角色名称 |
|
||||
| description | string | 否 | 角色描述 |
|
||||
| status | number | 否 | 状态 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"name": "超级管理员",
|
||||
"description": "超级管理员角色"
|
||||
}
|
||||
```
|
||||
|
||||
**返回示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. 获取角色列表(分页)
|
||||
|
||||
**路径**:`POST /mgt/role/fetch`
|
||||
|
||||
**请求体**:
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| page | number | 否 | 页码 |
|
||||
| size | number | 否 | 每页条数 |
|
||||
| keyword | string | 否 | 关键字,模糊匹配名称 |
|
||||
| status | number | 否 | 状态 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"page": 1,
|
||||
"size": 10,
|
||||
"keyword": "管理",
|
||||
"status": 1
|
||||
}
|
||||
```
|
||||
|
||||
**返回**(FetchResp):
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 0,
|
||||
"data": {
|
||||
"total": 1,
|
||||
"page": 1,
|
||||
"size": 10,
|
||||
"data": [
|
||||
{
|
||||
"id": 1,
|
||||
"identity": "01ARZ3NDEKTSV4RRFFQ69G5FAV",
|
||||
"name": "管理员",
|
||||
"description": "系统管理员,拥有全部权限",
|
||||
"status": 1,
|
||||
"created_at": "2025-03-16 10:00:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. 获取角色用户列表
|
||||
|
||||
**路径**:`POST /mgt/role/user`
|
||||
|
||||
**请求体**:FetchBase,id 为角色 ID。
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 7. 获取角色应用列表
|
||||
|
||||
**路径**:`POST /mgt/role/app`
|
||||
|
||||
**请求体**:同上。
|
||||
|
||||
---
|
||||
|
||||
## 8. 给角色设置权限
|
||||
|
||||
**路径**:`POST /mgt/role/set_pmn`
|
||||
|
||||
**请求体**(AddPmnRequest):
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|------|------|
|
||||
| workspace | string | 否 | 应用编码 |
|
||||
| id | number | 是 | 角色 ID |
|
||||
| list | number[] | 是 | 权限 ID 列表,至少 1 个 |
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"workspace": "my_app",
|
||||
"id": 1,
|
||||
"list": [1, 2, 3]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 9. 给角色编辑权限(按应用覆盖)
|
||||
|
||||
**路径**:`POST /mgt/role/modify_pmn`
|
||||
|
||||
**请求体**:同 set_pmn。
|
||||
|
||||
---
|
||||
|
||||
## 10. 给角色移除权限
|
||||
|
||||
**路径**:`POST /mgt/role/del_pmn`
|
||||
|
||||
**请求体**:同 set_pmn,list 为要移除的权限 ID 列表。
|
||||
|
||||
---
|
||||
|
||||
## 11. 获取角色权限列表(平面)
|
||||
|
||||
**路径**:`POST /mgt/role/pmn`
|
||||
|
||||
**请求体**:FetchBase,id 为角色 ID,可选 workspace 过滤应用。
|
||||
|
||||
---
|
||||
|
||||
## 12. 获取角色权限树(角色->应用->权限)
|
||||
|
||||
**路径**:`POST /mgt/role/pmn_tree`
|
||||
|
||||
**请求体**:同上。
|
||||
|
||||
**返回**:data 为按应用聚合的权限树。
|
||||
426
apps/base/mgt/doc/user.md
Normal file
426
apps/base/mgt/doc/user.md
Normal file
@@ -0,0 +1,426 @@
|
||||
# 用户模块接口文档
|
||||
|
||||
基础路径:`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
|
||||
}
|
||||
```
|
||||
|
||||
**返回**(FetchResp,data 为 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": "张"
|
||||
}
|
||||
```
|
||||
|
||||
**返回**(FetchResp,data 为 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_role,user_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_pmn,list 为要移除的权限 ID 列表。
|
||||
|
||||
---
|
||||
|
||||
## 13. 获取用户应用列表
|
||||
|
||||
**路径**:`POST /mgt/user/app`
|
||||
|
||||
**请求体**:FetchBase,id 为用户 ID。
|
||||
|
||||
**请求示例**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 14. 获取用户权限列表(平面)
|
||||
|
||||
**路径**:`POST /mgt/user/pmn`
|
||||
|
||||
**请求体**:FetchBase,id 为用户 ID,可选 workspace 过滤应用。
|
||||
|
||||
---
|
||||
|
||||
## 15. 获取用户权限树(用户->应用->权限)
|
||||
|
||||
**路径**:`POST /mgt/user/pmn_tree`
|
||||
|
||||
**请求体**:同上。
|
||||
|
||||
**返回**:data 为按应用聚合的权限树结构。
|
||||
Reference in New Issue
Block a user