Files
orion-visor/orion-visor-ui/src/api/user/auth.ts

62 lines
1.0 KiB
TypeScript
Raw Normal View History

2023-11-21 00:39:15 +08:00
import type { MenuQueryResponse } from '@/api/system/menu';
2023-07-27 18:48:15 +08:00
import axios from 'axios';
2023-08-08 17:59:37 +08:00
/**
2023-10-31 19:07:48 +08:00
*
2023-08-08 17:59:37 +08:00
*/
2023-07-27 18:48:15 +08:00
export interface LoginRequest {
2023-09-25 16:50:36 +08:00
username?: string;
password?: string;
2023-07-27 18:48:15 +08:00
}
2023-08-08 17:59:37 +08:00
/**
2023-10-31 19:07:48 +08:00
*
2023-08-08 17:59:37 +08:00
*/
2023-07-27 18:48:15 +08:00
export interface LoginResponse {
token: string;
}
2023-11-21 00:39:15 +08:00
/**
*
*/
export interface UserPermissionResponse {
user: {
id: number;
username: string;
nickname: string;
avatar: string;
systemPreference: Record<string, any>;
tippedKeys: Array<string>;
};
roles: Array<string>;
permissions: Array<string>;
}
2023-07-29 13:11:19 +08:00
/**
2023-10-31 19:07:48 +08:00
*
2023-07-29 13:11:19 +08:00
*/
2023-07-27 18:48:15 +08:00
export function login(data: LoginRequest) {
return axios.post<LoginResponse>('/infra/auth/login', data);
}
2023-07-29 13:11:19 +08:00
/**
*
*/
2023-07-27 18:48:15 +08:00
export function logout() {
return axios.get('/infra/auth/logout');
}
2023-07-29 13:11:19 +08:00
/**
*
*/
export function getUserPermission() {
2024-08-21 12:56:07 +08:00
return axios.get<UserPermissionResponse>('/infra/user-permission/user');
2023-07-29 13:11:19 +08:00
}
/**
*
*/
export function getMenuList() {
2024-08-21 12:56:07 +08:00
return axios.get<Array<MenuQueryResponse>>('/infra/user-permission/menu');
2023-07-29 13:11:19 +08:00
}