declare namespace API { /** 服务端 LoginResp 中的用户信息(对应 Go UserInfo 结构体) */ interface ServerUserInfo { userId: number; username: string; nickname: string; avatar: string; email: string; phone: string; isSuperAdmin: number; mustChangePassword: number; memberType: string; perms: string[]; } /** 服务端登录/刷新 token 接口返回的数据(对应 Go LoginResp 结构体) */ interface LoginResp { accessToken: string; refreshToken: string; expires: number; userInfo: ServerUserInfo; } /** * 本地存储的用户信息(localStorage user-info + cookie authorized-token 内容合并)。 * 读取 token 和展示用户信息时均使用此类型。 */ interface UserInfo { userId?: number; username?: string; nickname?: string; avatar?: string; email?: string; phone?: string; isSuperAdmin?: number; mustChangePassword?: number; memberType?: string; perms?: string[]; /** token 字段,与用户信息一起存储以方便读取 */ accessToken?: string; expires?: number; refreshToken?: string; } /** 管理后台登录参数 */ interface AdminLoginParams { username: string; password: string; managementKey: string; captchaId?: string; captchaCode?: string; } /** 管理后台 cap.js 登录参数 */ interface AdminLoginByCapParams { username: string; password: string; managementKey: string; capToken: string; } type LoginResult = Result; type RefreshTokenResult = Result; interface CaptchaInfo { base64image: string; id: string; } type CaptchaResult = Result; /** cap.js 端点响应(go-zero CapEndpointResp.Data) */ interface CapEndpointData { data: string; } type CapEndpointResult = Result; interface UserUpdateInfoReq { username: string; nickname: string; avatar: string; email: string; phone: string; } type UserUpdateInfoResult = Result; interface UserUpdatePasswordReq { username: string; oldPassword: string; newPassword: string; } type UserUpdatePasswordResult = Result; }