import axiosClient from "./client"; import type { OidcConfig } from "@/models/oidc-config"; import type { User } from "@/models/user"; import type { BaseResponse } from "@/models/resp"; export interface LoginRequest { username: string; password: string; rememberMe?: boolean; // 可以轻松添加新字段 captcha?: string; } export interface RegisterRequest { username: string; password: string; nickname: string; email: string; verificationCode?: string; } export async function userLogin( data: LoginRequest ): Promise> { const res = await axiosClient.post>( "/user/login", data ); return res.data; } export async function userRegister( data: RegisterRequest ): Promise> { const res = await axiosClient.post>( "/user/register", data ); return res.data; } export async function ListOidcConfigs(): Promise> { const res = await axiosClient.get>( "/user/oidc/list" ); return res.data; } export async function getLoginUser(token: string = ""): Promise> { const res = await axiosClient.get>("/user/me", { headers: { Authorization: `Bearer ${token}` } }); return res.data; } export async function getUserById(id: number): Promise> { const res = await axiosClient.get>(`/user/u/${id}`); return res.data; }