Files
aiartstudio/shared/types/user.ts
T

80 lines
1.9 KiB
TypeScript

/**
* 用户注册请求体。
* 对应 NewAPI POST /api/user/register 接口。
*/
export interface IUserRegisterRequest {
/** 用户名 */
username?: string;
/** 登录密码 */
password?: string;
/** 邮箱地址 */
email?: string;
/** 邮箱验证码,注册时若开启邮箱验证则需要填写 */
verification_code?: string;
/** 推广码 / 邀请码 */
aff_code?: string;
}
/**
* 注册成功时上游接口返回的数据类型。
* NewAPI 注册接口成功时通常直接返回字符串。
*/
export type IUserRegisterData = string;
/**
* 用户登录请求体。
* 对应 NewAPI POST /api/user/login 接口。
*/
export interface IUserLoginRequest {
/** 用户名 */
username?: string;
/** 登录密码 */
password?: string;
}
/**
* 前端可见的基础用户信息。
* 只保留页面判断登录态和展示身份所需字段,不透出配额、设置、第三方绑定等上游内部信息。
*/
export interface IUserBasicData {
/** 用户 ID */
id: number;
/** 用户名 */
username: string;
/** 展示名称 */
display_name: string;
/** 用户分组 */
group: string;
/** 用户角色 */
role: number;
/** 用户状态 */
status: number;
}
/**
* 登录成功后返回给前端的用户信息。
*/
export type IUserLoginData = IUserBasicData;
/**
* 获取当前用户信息成功时返回给前端的数据。
* 服务端会从 NewAPI /api/user/self 的完整用户对象中裁剪为 IUserBasicData。
*/
export type IUserMeData = IUserBasicData;
/**
* 登录后准备 AIArtStudio Key 的结果。
*/
export interface IUserReadyData {
/** 是否已经确认当前账号具备可用的 AIArtStudio Key */
ready: boolean;
/** 本次检查是否创建了新的 AIArtStudio Key */
created: boolean;
}
/**
* 登出成功时上游接口返回的数据类型。
* NewAPI 登出接口通常无业务数据返回,此处用 null 表示。
*/
export type IUserLogoutData = null;