import request from "@/utils/request"; import type { LoginRequest, LoginResponse, CaptchaInfo } from "./types"; const AUTH_BASE_URL = "/api/v1/auth"; const AuthAPI = { /** 登录接口*/ login(data: LoginRequest) { const payload: Record = { username: data.username, password: data.password, captchaId: data.captchaId, captchaCode: data.captchaCode, }; // tenantId 可选,仅在提供时包含(多租户功能) if (typeof data.tenantId !== "undefined") { payload.tenantId = data.tenantId; } return request({ url: `${AUTH_BASE_URL}/login`, method: "post", data: payload, }); }, /** 切换租户(平台用户) - 返回新的 token */ switchTenant(tenantId: number) { return request({ url: `${AUTH_BASE_URL}/switch-tenant`, method: "post", params: { tenantId }, }); }, /** 刷新 token 接口*/ refreshToken(refreshToken: string) { return request({ url: `${AUTH_BASE_URL}/refresh-token`, method: "post", params: { refreshToken }, headers: { Authorization: "no-auth", }, }); }, /** 退出登录接口 */ logout() { return request({ url: `${AUTH_BASE_URL}/logout`, method: "delete", }); }, /** 获取验证码接口*/ getCaptcha() { return request({ url: `${AUTH_BASE_URL}/captcha`, method: "get", }); }, }; export default AuthAPI; // 重导出类型 export * from "./types";