fix: v-access:role指令错误判断code而非role
This commit is contained in:
parent
9822d2af8a
commit
a986e1a2ab
@ -13,6 +13,7 @@
|
|||||||
**BUG FIX**
|
**BUG FIX**
|
||||||
|
|
||||||
- 菜单管理 新增没有加载下拉选择api
|
- 菜单管理 新增没有加载下拉选择api
|
||||||
|
- v-access:role指令错误判断code而非role
|
||||||
|
|
||||||
# 1.5.1
|
# 1.5.1
|
||||||
|
|
||||||
|
|||||||
@ -12,15 +12,13 @@ function isAccessible(
|
|||||||
el: Element,
|
el: Element,
|
||||||
binding: DirectiveBinding<string | string[]>,
|
binding: DirectiveBinding<string | string[]>,
|
||||||
) {
|
) {
|
||||||
const { accessMode, hasAccessByCodes, hasAccessByRoles } = useAccess();
|
const { hasAccessByCodes, hasAccessByRoles } = useAccess();
|
||||||
|
|
||||||
const value = binding.value;
|
const value = binding.value;
|
||||||
|
|
||||||
if (!value) return;
|
if (!value) return;
|
||||||
const authMethod =
|
const authMethod =
|
||||||
accessMode.value === 'frontend' && binding.arg === 'role'
|
binding.arg === 'role' ? hasAccessByRoles : hasAccessByCodes;
|
||||||
? hasAccessByRoles
|
|
||||||
: hasAccessByCodes;
|
|
||||||
|
|
||||||
const values = Array.isArray(value) ? value : [value];
|
const values = Array.isArray(value) ? value : [value];
|
||||||
|
|
||||||
|
|||||||
@ -17,6 +17,10 @@ function useAccess() {
|
|||||||
*/
|
*/
|
||||||
function hasAccessByRoles(roles: string[]) {
|
function hasAccessByRoles(roles: string[]) {
|
||||||
const userRoleSet = new Set(userStore.userRoles);
|
const userRoleSet = new Set(userStore.userRoles);
|
||||||
|
// 超管的角色
|
||||||
|
if (userRoleSet.has('superadmin')) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
const intersection = roles.filter((item) => userRoleSet.has(item));
|
const intersection = roles.filter((item) => userRoleSet.has(item));
|
||||||
return intersection.length > 0;
|
return intersection.length > 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user