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