export const PERMISSION_ENUM = { 'add': { key: 'add', label: '新增' }, 'delete': { key: 'delete', label: '删除' }, 'edit': { key: 'edit', label: '修改' }, 'query': { key: 'query', label: '查询' }, 'get': { key: 'get', label: '详情' }, 'enable': { key: 'enable', label: '启用' }, 'disable': { key: 'disable', label: '禁用' }, 'import': { key: 'import', label: '导入' }, 'export': { key: 'export', label: '导出' } } function plugin (Vue) { if (plugin.installed) { return } !Vue.prototype.$auth && Object.defineProperties(Vue.prototype, { $auth: { get () { const _this = this return (permissions) => { const [permission, action] = permissions.split('.') const permissionList = _this.$store.getters.roles.permissions return permissionList.find((val) => { return val.permissionId === permission }).actionList.findIndex((val) => { return val === action }) > -1 } } } }) !Vue.prototype.$enum && Object.defineProperties(Vue.prototype, { $enum: { get () { // const _this = this; return (val) => { let result = PERMISSION_ENUM val && val.split('.').forEach(v => { result = result && result[v] || null }) return result } } } }) } export default plugin