refactor: pinia整合优化重构

This commit is contained in:
郝先瑞
2022-03-11 00:07:34 +08:00
parent 7bd9d70433
commit 4ae629ab65
26 changed files with 675 additions and 563 deletions

View File

@@ -1,5 +1,6 @@
import {useUserStoreHook} from "@/store/modules/user";
import {Directive, DirectiveBinding} from "vue";
import useStore from "@/store";
import { Directive, DirectiveBinding } from "vue";
/**
* 按钮权限校验
@@ -7,16 +8,17 @@ import {Directive, DirectiveBinding} from "vue";
export const hasPerm: Directive = {
mounted(el: HTMLElement, binding: DirectiveBinding) {
// 「超级管理员」拥有所有的按钮权限
const roles = useUserStoreHook().roles;
const { user } = useStore()
const roles = user.roles;
if (roles.includes('ROOT')) {
return true
}
// 「其他角色」按钮权限校验
const {value} = binding;
const { value } = binding;
if (value) {
const requiredPerms = value; // DOM绑定需要的按钮权限标识
const hasPerm = useUserStoreHook().perms.some(perm => {
const hasPerm = user.perms.some(perm => {
return requiredPerms.includes(perm)
})
@@ -34,11 +36,12 @@ export const hasPerm: Directive = {
*/
export const hasRole: Directive = {
mounted(el: HTMLElement, binding: DirectiveBinding) {
const {value} = binding;
const { value } = binding;
if (value) {
const requiredRoles = value; // DOM绑定需要的角色编码
const hasRole = useUserStoreHook().roles.some(perm => {
const { user } = useStore()
const hasRole = user.roles.some(perm => {
return requiredRoles.includes(perm)
})