广丰卷烟厂数采质量分析系统
zhuguifei
2026-03-02 80ff784bf60637cd348ae665fc907f7b1e527dd8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import { useAuthStore } from '@/store/modules/auth';
 
export function useAuth() {
  const authStore = useAuthStore();
 
  function hasAuth(codes: string | string[]) {
    if (!authStore.isLogin) {
      return false;
    }
 
    const { permissions } = authStore.userInfo;
 
    // 超级管理员拥有所有权限
    if (permissions.includes('*:*:*')) {
      return true;
    }
 
    // 将单个权限转换为数组统一处理
    const codeList = Array.isArray(codes) ? codes : [codes];
 
    return codeList.some(code => permissions.includes(code));
  }
 
  function hasRole(roleCodes: string | string[]) {
    if (!authStore.isLogin) {
      return false;
    }
 
    const { roles } = authStore.userInfo;
 
    // 超级管理员拥有所有角色权限
    if (roles.includes('superadmin') || roles.includes('admin')) {
      return true;
    }
 
    // 将单个角色转换为数组统一处理
    const codeList = Array.isArray(roleCodes) ? roleCodes : [roleCodes];
 
    return codeList.some(code => roles.includes(code));
  }
 
  return {
    hasAuth,
    hasRole
  };
}