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