API 实战流程
本文档介绍如何通过 API 完成角色权限配置和用户创建的完整流程,适用于需要自动化批量创建用户和配置权限的场景。
场景描述
假设当前的空间 ID 为 default,有一张销售表,sid 为 dwd_sales_detail_default。另外有一张门店表,sid 为 dim_shops_default,ID 字段的字段名为「店铺ID」。
现在需要添加一个「店长」角色,让每位店长只能查看自己店铺的数据。
API 通用配置
获取 API Key
管理员账号 → 右上角⚙️按钮 → API密钥,生成一个密钥。
必需的请求头
所有 API 请求都需要包含以下请求头:
环境变量
以下命令假设服务部署在 http://localhost:13000,实际使用时请替换为您的域名:
创建或更新角色并配置权限
使用 yiask_roles:updateOrCreateWithPermissions API,一次调用即可完成角色创建、权限配置和用户绑定:
参数说明
必填参数
可选参数
permissions 格式
users 格式
字段名自动转换
建议使用属性的名称(如 店铺ID),同时也支持属性的 ID(如 ID、name),输入属性的 ID 会自动转换为属性名称。
说明:以上示例中,假设「店铺ID」的属性 ID 为
ID,「店铺名称」的属性 ID 为name。
转换规则:
- 如果字段是某个 property 的 name(如
店铺ID),直接保留 - 如果字段是某个 property 的 id(如
ID),自动转换为 name - 如果字段既不是 name 也不是 id(如
$and、$eq等操作符),保留原样
数据范围语法说明
数据范围(rowPermissions)使用类似 MongoDB 的查询语法来定义数据过滤条件。
逻辑操作符
$and 示例(同时满足多个条件):
$or 示例(满足任一条件即可):
比较操作符
字符串操作符
数组操作符
日期操作符
空值/布尔操作符
用户变量引用
在数据范围中可以引用用户的实体权限字段:
说明:
{{$user.yiask_dim_shops_default}}表示用户在门店表中的关联值。
其他 API
获取角色权限
返回结果:
完整示例
创建「店长」角色,配置两个表的权限,同时创建两位店长用户:
返回结果:
执行结果
调用成功后:
- 创建了「店长」角色
- 自动创建了数据范围
- 自动配置了表的权限范围
- 创建了张三、李两位用户,并绑定到「店长」角色
- 设置了用户在门店表中的权限值(
yiask_dim_shops_default)

