zhangwencui
7 天以前 dab35bff798cfce2ddf7e8a67e4e1cdb144f5b4c
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
import { request } from './request';
 
export interface LoginParams {
  username: string;
  password: string;
}
 
export interface LoginResult {
  accessToken: string;
  refreshToken: string;
  userId: number;
  expiresTime: number;
}
 
export interface UserProfile {
  id: number;
  username: string;
  nickname: string;
  avatar?: string;
  dept?: {
    name?: string;
  };
}
 
export interface AuthMenu {
  id: number;
  parentId: number;
  name: string;
  path: string;
  component: string | null;
  componentName: string | null;
  icon: string | null;
  visible: boolean;
  keepAlive: boolean;
  alwaysShow: boolean;
  children: AuthMenu[] | null;
}
 
export interface AuthPermissionInfo {
  user: UserProfile;
  roles: string[];
  permissions: string[];
  menus: AuthMenu[];
}
 
export interface EnabledMenu {
  id: number;
  name: string;
  parentId: number;
  type: number;
}
 
function authHeader(accessToken: string) {
  return { Authorization: `Bearer ${accessToken}` };
}
 
export function loginApi(data: LoginParams) {
  return request<LoginResult>('/system/auth/login', {
    method: 'POST',
    data,
  });
}
 
export function getUserProfileApi(accessToken: string) {
  return request<UserProfile>('/system/user/profile/get', {
    header: authHeader(accessToken),
  });
}
 
export function getAuthPermissionInfoApi(accessToken: string) {
  return request<AuthPermissionInfo>('/system/auth/get-permission-info', {
    header: authHeader(accessToken),
  });
}
 
export function getEnabledMenuListApi(accessToken: string) {
  return request<EnabledMenu[]>('/system/menu/simple-list', {
    header: authHeader(accessToken),
  });
}
 
export function logoutApi(accessToken: string) {
  return request<boolean>('/system/auth/logout', {
    method: 'POST',
    data: {},
    header: authHeader(accessToken),
  });
}