refactor: 优化pinia setup store组合式函数写法
Former-commit-id: 27347ede51d0952d3422c3a6c3a86652f91e5639
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import useStore from '@/store';
|
||||
import { useUserStoreHook } from '@/store/modules/user';
|
||||
import { Directive, DirectiveBinding } from 'vue';
|
||||
|
||||
/**
|
||||
@@ -7,8 +7,7 @@ import { Directive, DirectiveBinding } from 'vue';
|
||||
export const hasPerm: Directive = {
|
||||
mounted(el: HTMLElement, binding: DirectiveBinding) {
|
||||
// 「超级管理员」拥有所有的按钮权限
|
||||
const { user } = useStore();
|
||||
const roles = user.roles;
|
||||
const { roles, perms } = useUserStoreHook();
|
||||
if (roles.includes('ROOT')) {
|
||||
return true;
|
||||
}
|
||||
@@ -17,7 +16,7 @@ export const hasPerm: Directive = {
|
||||
if (value) {
|
||||
const requiredPerms = value; // DOM绑定需要的按钮权限标识
|
||||
|
||||
const hasPerm = user.perms?.some(perm => {
|
||||
const hasPerm = perms?.some(perm => {
|
||||
return requiredPerms.includes(perm);
|
||||
});
|
||||
|
||||
@@ -41,8 +40,8 @@ export const hasRole: Directive = {
|
||||
|
||||
if (value) {
|
||||
const requiredRoles = value; // DOM绑定需要的角色编码
|
||||
const { user } = useStore();
|
||||
const hasRole = user.roles.some(perm => {
|
||||
const { roles } = useUserStoreHook();
|
||||
const hasRole = roles.some(perm => {
|
||||
return requiredRoles.includes(perm);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user