import { useAppConfig } from '@vben/hooks'; import { requestClient } from '#/api/request'; const { clientId } = useAppConfig(import.meta.env, import.meta.env.PROD); export namespace AuthApi { /** 登录接口参数 */ export interface LoginParams { code?: string; grantType: string; password: string; tenantId: string; username: string; uuid?: string; } /** 登录接口返回值 */ export interface LoginResult { access_token: string; client_id: string; expire_in: number; } } /** * 登录 */ export async function login(data: AuthApi.LoginParams) { return requestClient.post( '/auth/login', { ...data, clientId }, { encrypt: true, }, ); } /** * 用户登出 * @returns void */ export function doLogout() { return requestClient.post('/auth/logout'); } /** * @param companyName 租户/公司名称 * @param domain 绑定域名(不带http(s)://) 可选 * @param tenantId 租户id */ export interface TenantOption { companyName: string; domain?: string; tenantId: string; } /** * @param tenantEnabled 是否启用租户 * @param voList 租户列表 */ export interface TenantResp { tenantEnabled: boolean; voList: TenantOption[]; } /** * 获取租户列表 下拉框使用 */ export function tenantList() { return requestClient.get('/auth/tenant/list'); }