80 lines
1.9 KiB
TypeScript
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;
|