- Set up Next.js project structure - Added UI components and styling - Configured package dependencies - Added feature documentation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
101 lines
1.9 KiB
TypeScript
101 lines
1.9 KiB
TypeScript
// 业务状态码
|
|
export enum BusinessCode {
|
|
Success = 0,
|
|
NoResource = 1001,
|
|
InvalidParams = 2001,
|
|
ResourceConflict = 3001,
|
|
PermissionDenied = 4001,
|
|
BusinessError = 5001,
|
|
}
|
|
|
|
// 通用响应格式
|
|
export interface ApiResponse<T> {
|
|
code: BusinessCode;
|
|
message: string;
|
|
data: T | null;
|
|
}
|
|
|
|
// 账户类型
|
|
export interface Account {
|
|
id: number;
|
|
ownerId: string;
|
|
platform: string;
|
|
customId: string;
|
|
data: string;
|
|
status: string;
|
|
notes?: string;
|
|
lockedAt?: Date | null;
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
}
|
|
|
|
// 分页结果
|
|
export interface PaginationResult {
|
|
page: number;
|
|
pageSize: number;
|
|
total: number;
|
|
totalPages: number;
|
|
}
|
|
|
|
// 脚本获取响应
|
|
export type ScriptAcquireResponse = Pick<Account, 'id' | 'customId' | 'data'>[];
|
|
|
|
// 脚本上传项
|
|
export interface ScriptUploadItem {
|
|
platform: string;
|
|
customId: string;
|
|
data: string;
|
|
status?: string;
|
|
}
|
|
|
|
// 账户列表筛选条件
|
|
export interface ListAccountsFilters {
|
|
platform?: string;
|
|
status?: string[];
|
|
ownerId?: string;
|
|
search?: string;
|
|
}
|
|
|
|
// 账户列表请求体
|
|
export interface ListAccountsBody {
|
|
filters: ListAccountsFilters;
|
|
pagination: {
|
|
page: number;
|
|
pageSize: number;
|
|
};
|
|
sort: {
|
|
field: keyof Account;
|
|
order: 'asc' | 'desc';
|
|
};
|
|
}
|
|
|
|
// 账户列表响应
|
|
export interface ListAccountsResponse {
|
|
list: Account[];
|
|
pagination: PaginationResult;
|
|
}
|
|
|
|
// 批量删除请求体
|
|
export interface BatchDeleteBody {
|
|
ids: number[];
|
|
}
|
|
|
|
// 批量更新请求体
|
|
export interface BatchUpdateBody {
|
|
ids: number[];
|
|
payload: Partial<Pick<Account, 'status' | 'ownerId' | 'notes' | 'platform'>>;
|
|
}
|
|
|
|
// 统计概览
|
|
export interface StatsOverview {
|
|
totalAccounts: number;
|
|
platformSummary: Record<string, number>;
|
|
ownerSummary: Record<string, number>;
|
|
statusSummary: Record<string, number>;
|
|
detailedBreakdown: {
|
|
platform: string;
|
|
ownerId: string;
|
|
status: string;
|
|
count: number;
|
|
}[];
|
|
} |