feat(ui): 管理后台新增权限及部分组合式函数优化

This commit is contained in:
廖彦棋
2024-03-14 10:27:09 +08:00
parent 5d4dd1e66f
commit 306cd2f945
16 changed files with 308 additions and 34 deletions

View File

@@ -0,0 +1,32 @@
import { useAuthStore } from "@/stores/auth";
// 判断操作权限
export function hasPermission(permissionTag: string | string[] | boolean) {
const authStore = useAuthStore();
const { is_super_admin, permissions = [] } = authStore;
if (is_super_admin) {
return true;
}
if (Array.isArray(permissionTag)) {
return permissionTag.every((tag) => permissions.includes(tag));
}
if (typeof permissionTag === "string") {
return permissions.includes(permissionTag);
}
return permissionTag;
}
function checkPermission(el, binding) {
if (!hasPermission(binding.value)) {
el.parentNode && el.parentNode.removeChild(el);
}
}
export const permission = {
mounted(el, binding) {
checkPermission(el, binding);
},
updated(el, binding) {
checkPermission(el, binding);
},
};