跳至主要內容

权限使用

fxss原创大约 3 分钟

基本权限设置

在 系统设置 -> 权限设置 中进行整个系统权限的管理,权限中的管理员权限是禁止编辑和删除的,可否编辑页面仅控制页面编辑按钮是否显示。

在权限的配置上可以如下进行配置:

  1. 管理员;
  2. 用户;
  3. 开发;
  4. 测试。

管理员拥有所有页面的访问、编辑、删除权限,可以在每个目录、每个页面设置页面访问权限、页面编辑权限、页面删除权限。

目录的访问权限未配置的时候,整个目录下的页面都不可以访问(不论是否设置页面的访问权限)。

页面编辑权限对应页面的编辑、页面代码对比、菜单配置等。

页面删除权限对应页面的删除,注意:不建议直接删除页面,可以将页面的启用状态置为禁用,删除之后页面代码找不回

按钮级的权限控制

本框架提供增强型的权限控制,在页面中有注入当前的用户信息和当前用户可否访问/编辑/删除当前页面:

// 当前的用户信息:userInfoStore
{
  id: "用户id",
  email: "邮箱",
  phone: "手机号",
  name: "用户昵称 || 邮箱 || 手机号",
  header: "头像",
  accessId: "权限id",
  isAdmin: "是否是管理员"
}

可以在页面中 ${userInfoStore.x} (x 代表上述中的 key 值) 使用,如果针对某个权限 ${1 === userInfoStore.accessId},如果针对某个具体用户功能 ${1 === userInfoStore.id}

// 当前用户可否访问/编辑/删除当前页面:pageAccess
{
  view: "访问权限",
  editor: "编辑权限",
  delete: "删除权限"
}

这里的 当前用户可否访问/编辑/删除当前页面 对应的就是编辑页面配置中的 页面访问权限/页面编辑权限/页面删除权限,例如某些删除操作的权限可以和当前页面的删除权限绑定,在删除按钮上设置 'visibleOn': '${pageAccess.delete}',如果就可以将页面中的删除权限和页面配置中的页面删除权限绑定,实现权限可配置和可视化,在 系统设置 -> 菜单设置 中可以更加全面的看到。

另外如果删除按钮的接口也需要做对应的权控制的话,可以在后端调接口 https://xxx.xxx.xx/codeApi/getPageInfoApi(域名为后端接口部署的域名) 获取到页面的基本信息和权限信息:

参数为:{ key: 页面标识,必须输入, userId: 用户ID,可选输入,未输入时默认为当前用户 },返回的结果为:

{
  id: "页面id",
  label: "页面名称",
  to: "页面链接",
  key: "页面标识",
  folder: "页面类型, 0:单页面,1:目录",
  accessIds: "页面访问权限,字符串形式 '1,2,3'",
  editorAccessIds: "页面编辑权限,字符串形式 '1,2,3'",
  deleteAccessIds: "页面删除权限,字符串形式 '1,2,3'",
  enable: "页面是否启用,0:禁用,1:启用",
  version: "页面版本",
  pageAccess: { // 针对某个用户的权限(默认为当前用户)
    view: "访问权限",
    editor: "编辑权限",
    delete: "删除权限"
  }
}