import { request } from './request' /** 图形验证码 */ export interface CaptchaResult { captcha_id: string /** PNG 图片的 base64,**不含** data: 前缀,由前端自行拼接 */ image_base64: string expires_in: number } export interface LoginParams { username: string password: string captcha_id: string captcha_code: string } export interface UserInfo { id: number username: string real_name: string | null roles: string[] last_login_time?: string | null } export interface LoginResult { access_token: string token_type: string expires_in: number user: UserInfo } /** 获取图形验证码 */ export function getCaptcha(): Promise { return request({ url: '/v1/auth/captcha', method: 'get' }) } /** 登录 */ export function login(data: LoginParams): Promise { return request({ url: '/v1/auth/login', method: 'post', data }) } /** 登出 */ export function logout(): Promise { return request({ url: '/v1/auth/logout', method: 'post' }) } /** 获取当前登录用户(刷新页面后用它恢复会话) */ export function getCurrentUser(): Promise { return request({ url: '/v1/auth/me', method: 'get' }) }