40 lines
694 B
TypeScript
40 lines
694 B
TypeScript
/**
|
|
* 通用类型定义
|
|
*/
|
|
|
|
export type Theme = 'light' | 'dark';
|
|
|
|
export type Language = 'zh-CN' | 'en';
|
|
|
|
export type NotificationType = 'info' | 'success' | 'warning' | 'error';
|
|
|
|
export interface Notification {
|
|
id: string;
|
|
message: string;
|
|
type: NotificationType;
|
|
duration?: number;
|
|
}
|
|
|
|
export interface ApiResponse<T = any> {
|
|
data?: T;
|
|
error?: string;
|
|
message?: string;
|
|
}
|
|
|
|
export interface PaginationState {
|
|
currentPage: number;
|
|
pageSize: number;
|
|
totalPages: number;
|
|
totalItems?: number;
|
|
}
|
|
|
|
export interface LoadingState {
|
|
isLoading: boolean;
|
|
error: Error | null;
|
|
}
|
|
|
|
// 泛型异步状态
|
|
export interface AsyncState<T> extends LoadingState {
|
|
data: T | null;
|
|
}
|