Appearance
使用权限验证
常规的技术包调用方法为 导入 => 使用,为减少导入技术包的工作量,将技术包挂载在全局变量"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('您可授予他们权限')
// ...
}