# 角色模块接口文档 基础路径:`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 为按应用聚合的权限树。