/** * 认证相关通用类型定义 */ /** * 基础用户信息 */ interface BaseUser { /** 用户 ID */ id: string | number; /** 用户名 */ username?: string; /** 昵称 */ nickname?: string; /** 头像 URL */ avatar?: string; /** 邮箱 */ email?: string; /** 手机号 */ phone?: string; /** 角色列表 */ roles?: string[]; /** 权限列表 */ permissions?: string[]; } /** * 认证令牌信息 */ interface AuthToken { /** Token 值 */ token: string; /** Token 类型,如 'Bearer' */ tokenType?: string; /** 过期时间 (毫秒时间戳) */ expiresAt?: number; /** 刷新 Token */ refreshToken?: string; } /** * 会话配置 */ interface SessionConfig { /** localStorage 中存储 token 的 key */ tokenKey: string; /** 会话有效期 (天) */ ttlDays?: number; /** 过期时间存储 key */ expireKey?: string; } /** * 登录参数 */ interface LoginParams { /** 用户名 */ username: string; /** 密码 (明文或已加密) */ password: string; /** 记住我 */ rememberMe?: boolean; /** 验证码 */ captcha?: string; } /** * 登录结果 */ interface LoginResult { /** 是否成功 */ success: boolean; /** Token 信息 */ token?: AuthToken; /** 用户信息 */ user?: BaseUser; /** 错误消息 */ message?: string; } export type { AuthToken as A, BaseUser as B, LoginParams as L, SessionConfig as S, LoginResult as a };