diff --git a/src/directives/permission/hasPermi.ts b/src/directives/permission/hasPermi.ts index a7dc35ee..90cd0250 100644 --- a/src/directives/permission/hasPermi.ts +++ b/src/directives/permission/hasPermi.ts @@ -1,8 +1,9 @@ -import type {App} from 'vue' -import {useUserStore} from "@/store/modules/user"; +import type { App } from 'vue' +import { useUserStore } from '@/store/modules/user' const { t } = useI18n() // 国际化 +/** 判断权限的指令 directive */ export function hasPermi(app: App) { app.directive('hasPermi', (el, binding) => { const { value } = binding @@ -18,9 +19,13 @@ export function hasPermi(app: App) { } }) } -const userStore = useUserStore(); + +/** 判断权限的方法 function */ +const userStore = useUserStore() const all_permission = '*:*:*' export const hasPermission = (permission: string[]) => { - return userStore.permissionsSet.has(all_permission) || - permission.some(permission => userStore.permissionsSet.has(permission)) + return ( + userStore.permissions.has(all_permission) || + permission.some((permission) => userStore.permissions.has(permission)) + ) } diff --git a/src/store/modules/user.ts b/src/store/modules/user.ts index 55feb096..c3920c71 100644 --- a/src/store/modules/user.ts +++ b/src/store/modules/user.ts @@ -15,8 +15,7 @@ interface UserVO { interface UserInfoVO { // USER 缓存 - permissions: string[] - permissionsSet: Set + permissions: Set roles: string[] isSetUser: boolean user: UserVO @@ -24,8 +23,7 @@ interface UserInfoVO { export const useUserStore = defineStore('admin-user', { state: (): UserInfoVO => ({ - permissions: [], - permissionsSet: new Set(), + permissions: new Set(), roles: [], isSetUser: false, user: { @@ -36,7 +34,7 @@ export const useUserStore = defineStore('admin-user', { } }), getters: { - getPermissions(): string[] { + getPermissions(): Set { return this.permissions }, getRoles(): string[] { @@ -59,8 +57,7 @@ export const useUserStore = defineStore('admin-user', { if (!userInfo) { userInfo = await getInfo() } - this.permissions = userInfo.permissions - this.permissionsSet = new Set(userInfo.permissions) + this.permissions = new Set(userInfo.permissions) this.roles = userInfo.roles this.user = userInfo.user this.isSetUser = true @@ -88,7 +85,7 @@ export const useUserStore = defineStore('admin-user', { this.resetState() }, resetState() { - this.permissions = [] + this.permissions = new Set() this.roles = [] this.isSetUser = false this.user = { diff --git a/src/views/bpm/model/CategoryDraggableModel.vue b/src/views/bpm/model/CategoryDraggableModel.vue index c837323b..93ad06f0 100644 --- a/src/views/bpm/model/CategoryDraggableModel.vue +++ b/src/views/bpm/model/CategoryDraggableModel.vue @@ -190,10 +190,7 @@ 更多