import type { IResponse } from '.' import type { IUser, LoginType } from '~/types' import { http } from '~/utils/http' export interface LoginParams { account: string password: string loginType: LoginType } export type LoginResponse = IResponse & { loginType: LoginType token: string } export type UserProfileResponse = IResponse & { user: IUser } /** * 用户登录 * @param params 登录参数 * * @see {@link LoginParams} */ export const userLogin = async (params: LoginParams) => { return await http<LoginResponse>('/login', { method: 'POST', body: params, }) } export const userProfile = async () => { return await http<UserProfileResponse>('/getInfo', { method: 'GET', }) } export const userSearch = async (pararms: { searchType: 'student' | 'teacher' keyword: string }) => { return await http< IResponse & { data: IUser[] } >(`/system/user/search`, { method: 'GET', query: pararms, }) }