refactor: pinia整合优化重构
This commit is contained in:
@@ -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)
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user