30 lines
874 B
JavaScript
30 lines
874 B
JavaScript
/**
|
|
* @Description: 按钮权限
|
|
* @Author: zenghua.wang
|
|
* @Date: 2022-08-30 09:42:47
|
|
* @LastEditors: zenghua.wang
|
|
* @LastEditTime: 2024-06-08 19:50:47
|
|
*/
|
|
|
|
import { useUserStore } from '@/store/modules/user';
|
|
|
|
export function useAuth(app) {
|
|
app.directive('auth', (el, binding) => {
|
|
const { value } = binding;
|
|
const all_permission = '*:*:*';
|
|
const UserStore = useUserStore();
|
|
const permissions = UserStore.getAuths() ?? [];
|
|
if (value && value instanceof Array && value.length > 0) {
|
|
const permissionFlag = value;
|
|
const hasAuth = permissions.some((permission) => {
|
|
return all_permission === permission || permissionFlag.includes(permission);
|
|
});
|
|
if (!hasAuth) {
|
|
el.parentNode && el.parentNode.removeChild(el);
|
|
}
|
|
} else {
|
|
// console.log('button permissions are not supported.');
|
|
}
|
|
});
|
|
}
|