47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
import request from '@/utils/request';
|
|
import type { MenuDTO } from '@/pages/System/Menu/types';
|
|
import type { UserDTO } from '@/pages/System/User/types';
|
|
|
|
export interface LoginParams {
|
|
username: string;
|
|
password: string;
|
|
}
|
|
|
|
export interface LoginResult {
|
|
token: string;
|
|
userId: number;
|
|
username: string;
|
|
nickname: string;
|
|
}
|
|
|
|
export const login = async (data: LoginParams): Promise<LoginResult> => {
|
|
return request.post('/api/auth/login', data);
|
|
};
|
|
|
|
export const logout = async (): Promise<void> => {
|
|
return request.post('/api/auth/logout');
|
|
};
|
|
|
|
export const getUserMenus = async (): Promise<MenuDTO[]> => {
|
|
return request.get('/api/system/user/menus');
|
|
};
|
|
|
|
export const getUsers = async (params: any) => {
|
|
return request.get('/api/system/users', { params });
|
|
};
|
|
|
|
export const createUser = async (data: any) => {
|
|
return request.post('/api/system/users', data);
|
|
};
|
|
|
|
export const updateUser = async (id: number, data: any) => {
|
|
return request.put(`/api/system/users/${id}`, data);
|
|
};
|
|
|
|
export const deleteUser = async (id: number) => {
|
|
return request.delete(`/api/system/users/${id}`);
|
|
};
|
|
|
|
export const resetPassword = async (id: number) => {
|
|
return request.post(`/api/system/users/${id}/reset-password`);
|
|
};
|