309 lines
5.7 KiB
Markdown
309 lines
5.7 KiB
Markdown
# 权限模块接口文档
|
||
|
||
基础路径:`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 为拥有该权限的角色列表。
|