@opentiny/tiny-toolkit-pro
Version:
TinyPro Vue:开箱即用、前后端分离的 Vue 后台管理模板
24 lines (21 loc) • 654 B
text/typescript
import { useUserStore } from '@/store';
async function checkPermission(el: HTMLElement, binding: { value: string }) {
const { value } = binding;
// // 获取role的permission
const userStore = useUserStore();
const { rolePermission } = userStore;
const permissionList: string[] = rolePermission;
const hasPermission =
permissionList.includes(value) || permissionList.includes('*');
if (!hasPermission) {
el.remove();
}
}
export default {
mounted(el: HTMLElement, binding: any) {
checkPermission(el, binding);
},
updated(el: HTMLElement, binding: any) {
checkPermission(el, binding);
},
};