feat: update

This commit is contained in:
2025-11-06 16:37:01 +08:00
parent c0d54b8513
commit 855f289579
59 changed files with 3398 additions and 572 deletions

73
types/api.ts Normal file
View File

@@ -0,0 +1,73 @@
/**
* API 相关类型定义
*/
/**
* 分页请求参数
*/
export interface PaginationParams {
page: number;
pageSize: number;
sortBy?: string;
sortOrder?: 'asc' | 'desc';
}
/**
* 分页响应数据
*/
export interface PaginationResponse<T> {
list: T[];
total: number;
page: number;
pageSize: number;
totalPages: number;
hasMore: boolean;
}
/**
* 列表响应数据
*/
export interface ListResponse<T> {
items: T[];
total: number;
}
/**
* ID 参数
*/
export interface IdParams {
id: string | number;
}
/**
* 批量操作参数
*/
export interface BatchParams {
ids: (string | number)[];
}
/**
* 搜索参数
*/
export interface SearchParams {
keyword: string;
filters?: Record<string, any>;
}
/**
* 上传响应
*/
export interface UploadResponse {
url: string;
filename: string;
size: number;
mimeType: string;
}
/**
* 通用操作响应
*/
export interface OperationResponse {
success: boolean;
message?: string;
}

80
types/index.ts Normal file
View File

@@ -0,0 +1,80 @@
/**
* 全局类型定义
*/
/**
* API 响应基础接口
*/
export interface ApiResponse<T = any> {
code: number;
message: string;
data: T;
timestamp?: number;
}
/**
* 分页参数
*/
export interface PaginationParams {
page: number;
pageSize: number;
sortBy?: string;
sortOrder?: 'asc' | 'desc';
}
/**
* 分页响应
*/
export interface PaginatedResponse<T> {
items: T[];
total: number;
page: number;
pageSize: number;
totalPages: number;
}
/**
* 错误响应
*/
export interface ErrorResponse {
code: number;
message: string;
errors?: Record<string, string[]>;
}
/**
* 上传文件响应
*/
export interface UploadResponse {
url: string;
filename: string;
size: number;
mimeType: string;
}
/**
* 导航参数类型
*/
export type RootStackParamList = {
Home: undefined;
Profile: { userId: string };
Settings: undefined;
Login: undefined;
Register: undefined;
// 添加更多路由...
};
/**
* 环境变量类型
*/
declare global {
namespace NodeJS {
interface ProcessEnv {
EXPO_PUBLIC_API_URL: string;
EXPO_PUBLIC_APP_NAME: string;
EXPO_PUBLIC_APP_VERSION: string;
}
}
}
export {};