import type { User } from '@/api/system/user/model'; /** * 登录参数 */ export interface LoginParam { // 账号 username?: string; // 邮箱 email?: string; // 用户ID userId?: string | number; // 密码 password?: string; // 租户id tenantId?: number; // 是否记住密码 remember?: boolean; // 手机号码 phone?: string; // 短信验证码 code?: string; // 短信验证码(别名,与后端 LoginParam.code 对应) smsCode?: string; } /** * 登录返回结果 */ export interface LoginResult { // token access_token?: string; // 用户信息 user?: User; // 多租户场景下返回,此时 access_token / user 为 null tenants?: TenantOption[]; } /** * 多租户登录时后端返回的租户选项 */ export interface TenantOption { tenantId?: number; tenantName?: string; userId?: number; username?: string; nickname?: string; } /** * 登录接口统一返回结果 * - ok:单租户直接登录成功 * - selectTenant:多租户,需要前端弹出选择租户列表 */ export type LoginOutcome = | { status: 'ok'; user: NonNullable; message: string } | { status: 'selectTenant'; tenants: TenantOption[]; message: string }; /** * 图形验证码返回结果 */ export interface CaptchaResult { // 图形验证码base64数据 base64: string; // 验证码文本 text: string; } /** * 短信验证码返回结果 */ export interface SmsCaptchaResult { // 验证码文本 text: string; }