57 lines
1.0 KiB
TypeScript
57 lines
1.0 KiB
TypeScript
// 简化版邀请码类型定义
|
|
export interface InviteCode {
|
|
id: number;
|
|
code: string;
|
|
is_used: boolean;
|
|
client_id?: string;
|
|
client_label?: string;
|
|
email?: string;
|
|
user_level_id?: number;
|
|
user_level_name?: string;
|
|
expires_at?: string | null;
|
|
created_at: string;
|
|
invite_url?: string;
|
|
}
|
|
|
|
export interface InviteCodeListRequest {
|
|
code?: string;
|
|
is_used?: boolean;
|
|
start_time?: string;
|
|
end_time?: string;
|
|
page?: number;
|
|
size?: number;
|
|
}
|
|
|
|
export interface InviteCodeCreateRequest {
|
|
emails?: string[];
|
|
user_level_id?: number;
|
|
expires_at?: string;
|
|
client_id?: string; // 保留向后兼容
|
|
}
|
|
|
|
export interface InviteCodeUpdateRequest {
|
|
client_id?: string;
|
|
email?: string;
|
|
user_level_id?: number;
|
|
expires_at?: string;
|
|
}
|
|
|
|
export interface InviteCodeStatistics {
|
|
total: number;
|
|
used: number;
|
|
unused: number;
|
|
today_created: number;
|
|
}
|
|
|
|
export interface InviteCodeListResponse {
|
|
list: InviteCode[];
|
|
total: number;
|
|
}
|
|
|
|
// 客户端选项
|
|
export interface ClientOption {
|
|
key: string;
|
|
value: string;
|
|
label: string;
|
|
}
|