refactor: 优化pinia setup store组合式函数写法

Former-commit-id: 27347ede51d0952d3422c3a6c3a86652f91e5639
This commit is contained in:
haoxr
2022-12-18 15:27:53 +08:00
parent fe49485563
commit 2a36afae16
27 changed files with 944 additions and 973 deletions

View File

@@ -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);
});