保存代码动作清单角色授权结果
查看文档来源信息
- 来源目录:
addons/sys_base/docs - 来源文件:
接口文档/25-保存角色授权结果.md
详细说明
用于按中间件代码动作清单中的页面码、动作码和默认页定义保存目标角色的代码清单授权结果,并同步刷新该角色在当前模块下的运行时菜单承载与 Casbin 放行结果。
本接口只服务代码动作清单授权,不用于下游业务模块的已发布菜单授权。下游业务菜单、以及下游清单中显式发布的公共治理入口,必须改用 POST /sys_base/platform/manifest/savePublishedMenuAuthority 保存授权。
接口信息
| 项目 | 内容 |
|---|---|
| 请求方式 | POST |
| 请求路径 | /sys_base/platform/manifest/saveAuthorityCodeActions |
| 来源文件 | 接口文档/25-保存角色授权结果.md |
请求头
| 请求头 | 示例值 | 说明 |
|---|---|---|
Content-Type | application/json | 请求体格式。 |
x-token | <jwt-token> | 登录令牌。 |
app-id | mid-admin | 当前应用 ID。 |
addons-type | sys_base | 当前模块标识。 |
入参
| 参数 | 类型 | 是否必填 | 示例 | 说明 |
|---|---|---|---|---|
authorityId | number | 是 | 20 | 目标角色 ID |
addonsType | string | 是 | sys_base | 目标模块标识 |
pageCodes | array<string> | 是 | ["organization.department.manage"] | 需要保留的代码动作清单页面码列表 |
actionCodes | array<string> | 是 | ["department.create"] | 需要保留的代码动作清单动作码列表 |
defaultPageCode | string | 否 | organization.department.manage | 目标角色默认页页面码 |
参数说明
defaultPageCode只能取自本次保存后的pageCodes集合。- 角色应用绑定不通过本接口维护,正式入口为
POST /sys_base/platform/authority/bindAuthorityApps。 - 页面码、动作码必须来自当前模块代码动作清单,不允许传未定义编码。
- 如果传入下游业务页面码,接口会返回“当前接口仅支持代码动作清单授权;下游已发布业务菜单授权请使用 savePublishedMenuAuthority”。
请求示例
当前文档未提供独立请求示例,请参考下方 curl 示例。
响应输出
json
{
"code": 0,
"msg": "操作成功",
"data": {
"summary": {
"supported": true,
"addonsType": "sys_base",
"authorityId": 20,
"pageCount": 2,
"actionCount": 6,
"resolvedMenuCount": 8,
"saveNote": "按代码动作清单页面、动作与默认页保存角色授权,并同步运行时菜单承载与 Casbin 放行结果。"
},
"selectedPageCodes": [
"organization.department.manage",
"organization.member.manage"
],
"selectedActionCodes": [
"department.create",
"role.grant"
],
"defaultPage": {
"pageCode": "organization.member.manage",
"pageTitle": "用户管理"
},
"defaultPageSyncApplied": true,
"defaultPageSyncReason": "explicit_selected"
}
}字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
data.summary.pageCount | number | 本次最终保存的正式页面数 |
data.summary.actionCount | number | 本次最终保存的正式动作数 |
data.summary.resolvedMenuCount | number | 本次同步写入的运行时菜单承载记录数 |
data.selectedPageCodes | array | 最终保留的正式页面码列表 |
data.selectedActionCodes | array | 最终保留的正式动作码列表 |
data.defaultPage | object | 目标角色同步后的默认页结果 |
data.defaultPageSyncApplied | boolean | 本次是否实际写入或修正了默认页 |
data.defaultPageSyncReason | string | 默认页同步原因 |
curl 示例
bash
curl --location --request POST 'http://127.0.0.1:8100/sys_base/platform/manifest/saveAuthorityCodeActions' \
--header 'Content-Type: application/json' \
--header 'x-token: <jwt-token>' \
--header 'app-id: mid-admin' \
--header 'addons-type: sys_base' \
--data-raw '{
"authorityId": 20,
"addonsType": "sys_base",
"pageCodes": [
"organization.department.manage",
"organization.member.manage"
],
"actionCodes": [
"department.create",
"role.grant"
],
"defaultPageCode": "organization.member.manage"
}'