/** * 类型定义统一导出 * Unified type definitions export * * 共享类型定义文件 * 用于前后端类型一致性 */ // 基础类型 export * from './base' // 用户相关类型 export * from './user' // 飞书相关类型 export * from './feishu' // 上海CIM相关类型 export * from './cim' // 验证相关类型和工具 export * from '../src/schemas/user' export * from '../utils/validation' // ==================== API 响应类型 ==================== /** * API 响应类型 * @template T 响应数据类型 */ export interface ApiResponse { success: boolean data?: T message?: string error?: string } /** * 分页参数类型 */ export interface PaginationParams { page?: number limit?: number search?: string } /** * 分页响应类型 * @template T 数据项类型 */ export interface PaginatedResponse { data: T[] total: number page: number limit: number totalPages: number } /** * 表单验证规则类型 */ export interface FormRule { required?: boolean message?: string trigger?: string | string[] min?: number max?: number pattern?: RegExp } /** * 表格列配置类型 */ export interface TableColumn { prop: string label: string width?: string | number sortable?: boolean formatter?: (row: any, column: any, cellValue: any) => string } // ==================== 通用 CRUD 类型定义 ==================== /** * 通用查询参数接口 */ export interface BaseQueryParams extends PaginationParams { orderBy?: string orderDirection?: 'asc' | 'desc' [key: string]: any } /** * 通用创建输入类型 */ export interface BaseCreateInput { [key: string]: any } /** * 通用更新输入类型 */ export interface BaseUpdateInput { [key: string]: any } /** * CRUD 操作选项 */ export interface CrudOptions { // 是否启用软删除 softDelete?: boolean // 默认排序字段 defaultOrderBy?: string // 默认排序方向 defaultOrderDirection?: 'asc' | 'desc' // 可搜索字段 searchableFields?: string[] // 唯一字段验证 uniqueFields?: string[] } /** * 扩展的API响应类型,包含验证错误 * @template T 响应数据类型 */ export interface ExtendedApiResponse extends ApiResponse { validationErrors?: ValidationError[] }