项目微调
优化封装的自定义指令,其中按钮权限控制可用
This commit is contained in:
@@ -2,21 +2,21 @@
|
||||
* v-auth
|
||||
* 按钮权限指令
|
||||
*/
|
||||
import { useAuthStore } from "@/stores/modules/auth";
|
||||
import type { Directive, DirectiveBinding } from "vue";
|
||||
import { useAuthStore } from '@/stores/modules/auth'
|
||||
import type { Directive, DirectiveBinding } from 'vue'
|
||||
|
||||
const auth: Directive = {
|
||||
mounted(el: HTMLElement, binding: DirectiveBinding) {
|
||||
const { value } = binding;
|
||||
const authStore = useAuthStore();
|
||||
const currentPageRoles = authStore.authButtonListGet[authStore.routeName] ?? [];
|
||||
const { value } = binding
|
||||
const authStore = useAuthStore()
|
||||
const currentPageRoles = authStore.authButtonListGet[authStore.routeName] ?? []
|
||||
if (value instanceof Array && value.length) {
|
||||
const hasPermission = value.every(item => currentPageRoles.includes(item));
|
||||
if (!hasPermission) el.remove();
|
||||
const hasPermission = value.every(item => currentPageRoles.includes(item))
|
||||
if (!hasPermission) el.remove()
|
||||
} else {
|
||||
if (!currentPageRoles.includes(value)) el.remove();
|
||||
if (!currentPageRoles.includes(value)) el.remove()
|
||||
}
|
||||
}
|
||||
};
|
||||
},
|
||||
}
|
||||
|
||||
export default auth;
|
||||
export default auth
|
||||
|
||||
Reference in New Issue
Block a user