diff --git a/CHANGELOG.md b/CHANGELOG.md index 4700606d..300709c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ **BUG FIX** - 菜单管理 新增没有加载下拉选择api +- v-access:role指令错误判断code而非role # 1.5.1 diff --git a/packages/effects/access/src/directive.ts b/packages/effects/access/src/directive.ts index 35d9d517..9af9b999 100644 --- a/packages/effects/access/src/directive.ts +++ b/packages/effects/access/src/directive.ts @@ -12,15 +12,13 @@ function isAccessible( el: Element, binding: DirectiveBinding, ) { - const { accessMode, hasAccessByCodes, hasAccessByRoles } = useAccess(); + const { hasAccessByCodes, hasAccessByRoles } = useAccess(); const value = binding.value; if (!value) return; const authMethod = - accessMode.value === 'frontend' && binding.arg === 'role' - ? hasAccessByRoles - : hasAccessByCodes; + binding.arg === 'role' ? hasAccessByRoles : hasAccessByCodes; const values = Array.isArray(value) ? value : [value]; diff --git a/packages/effects/access/src/use-access.ts b/packages/effects/access/src/use-access.ts index 05ac3483..692f367e 100644 --- a/packages/effects/access/src/use-access.ts +++ b/packages/effects/access/src/use-access.ts @@ -17,6 +17,10 @@ function useAccess() { */ function hasAccessByRoles(roles: string[]) { const userRoleSet = new Set(userStore.userRoles); + // 超管的角色 + if (userRoleSet.has('superadmin')) { + return true; + } const intersection = roles.filter((item) => userRoleSet.has(item)); return intersection.length > 0; }