import type { MenuQueryResponse } from '@/api/system/menu'; import axios from 'axios'; /** * 登录请求 */ export interface LoginRequest { username?: string; password?: string; } /** * 登录响应 */ export interface LoginResponse { token: string; } /** * 用户权限响应 */ export interface UserPermissionResponse { user: { id: number; username: string; nickname: string; avatar: string; systemPreference: Record; tippedKeys: Array; }; roles: Array; permissions: Array; } /** * 登录 */ export function login(data: LoginRequest) { return axios.post('/infra/auth/login', data); } /** * 登出 */ export function logout() { return axios.get('/infra/auth/logout'); } /** * 获取用户信息 */ export function getUserPermission() { return axios.get('/infra/user-permission/user'); } /** * 获取菜单列表 */ export function getMenuList() { return axios.get>('/infra/user-permission/menu'); }