Skip to content

使用权限验证

常规的技术包调用方法为 导入 => 使用,为减少导入技术包的工作量,将技术包挂载在全局变量"jingjian"中,可以在任意位置调用以下类似方法。

初始化权限

以下初始化行为在系统启动时已执行,不用另外执行此代码。

js
let rightValues: Array<any> = JSON.parse(res.data.authorityData)
let rightItems: Array<RightItem> = []
rightValues.forEach(x => {
    rightItems.push(new RightItem(x.key, x.rightType, x.authOther))
})
Global.ioc.get<EmployeeRights>(EmployeeRightsNames.key).setRights('', rightItems)

指令鉴权方法

js
// 增加v-checkright="key" 指令,key为权限key
<el-button v-checkright="'Employee_Query'" :loading="loadingQuery" type="primary" @click="showNew" :icon="Plus">新增</el-button>

代码鉴权方法

js
import { EmployeeRights, EmployeeRightsNames } from 'jingjian-employee-rights'

const search = async (filters?: any) => {
  // ...

  // 此处为代码鉴权方法
  if(!jingjian.employeeRights.check('', 'Employee_Query')) throw new Error('您无权限进行此操作')

  // ...
}

收银台鉴权方法

js
import { EmployeeRights, EmployeeRightsNames } from 'jingjian-employee-rights'

const rights = Global.ioc.get<EmployeeRights>(EmployeeRightsNames.key)

const search = async (filters?: any) => {
  // ...

  if(!jingjian.employeeRights.checkRightType('', 'Employee_Query', RightType.可使用)) throw new Error('您无权限进行此操作')

  if(!jingjian.employeeRights.checkRightType('', 'Employee_Query', RightType.需授权)) throw new Error('您需授权才能进行此操作')

  if(!jingjian.employeeRights.checkAuthOther('', 'Employee_Query')) throw new Error('您可授予他们权限')

  // ...
}

广州宝点数字化科技