// 通用响应类型 export interface ApiResponse { success: boolean; data?: T; message?: string; error?: string; } // 分页类型 export interface Pagination { page: number; pageSize: number; total: number; totalPages: number; } // 分页响应类型 export interface PaginatedResponse extends ApiResponse { pagination: Pagination; } // 查询参数类型 export interface QueryParams { page?: number; pageSize?: number; sortBy?: string; sortOrder?: 'ASC' | 'DESC'; [key: string]: any; } // 启用/禁用状态枚举 export enum EnableStatus { DISABLED = 0, // 禁用 ENABLED = 1 // 启用 } // 启用/禁用状态中文映射 export const EnableStatusNameMap: Record = { [EnableStatus.DISABLED]: '禁用', [EnableStatus.ENABLED]: '启用' }; // 删除状态枚举 export enum DeleteStatus { NOT_DELETED = 0, // 未删除 DELETED = 1 // 已删除 } // 删除状态中文映射 export const DeleteStatusNameMap: Record = { [DeleteStatus.NOT_DELETED]: '未删除', [DeleteStatus.DELETED]: '已删除' }; // 启用/禁用状态枚举(反向定义) export enum DisabledStatus { DISABLED = 1, // 禁用 ENABLED = 0 // 启用 } // 启用/禁用状态中文映射 export const DisabledStatusNameMap: Record = { [DisabledStatus.DISABLED]: '禁用', [DisabledStatus.ENABLED]: '启用' }; // 认证上下文类型 export interface AuthContextType { user: T | null; token: string | null; login: (username: string, password: string, latitude?: number, longitude?: number) => Promise; logout: () => Promise; isAuthenticated: boolean; isLoading: boolean; } // 全局配置常量 export interface GlobalConfig { OSS_BASE_URL: string; APP_NAME: string; } // JWT Payload 类型 export interface JWTPayload { id: number; username: string; roles?: string[]; openid?: string; } // Hono 认证上下文类型 export type AuthContext = { Variables: { user: any; // 用户类型将在具体模块中定义 token: string; } };