/// // 静态资源模块声明 declare module '*.png' { const content: string; export default content; } declare module '*.gif' { const content: string; export default content; } declare module '*.jpg' { const content: string; export default content; } declare module '*.jpeg' { const content: string; export default content; } declare module '*.svg' { const content: string; export default content; } declare module '*.css' { const content: Record; export default content; } declare module '*.less' { const content: Record; export default content; } declare module '*.scss' { const content: Record; export default content; } declare module '*.sass' { const content: Record; export default content; } declare module '*.styl' { const content: Record; export default content; } // 环境变量类型定义 declare namespace NodeJS { interface ProcessEnv { /** NODE 内置环境变量, 会影响到最终构建生成产物 */ NODE_ENV: 'development' | 'production' | 'test'; /** 当前构建的平台 */ TARO_ENV: 'weapp' | 'swan' | 'alipay' | 'h5' | 'rn' | 'tt' | 'quickapp' | 'qq' | 'jd'; /** * 当前构建的小程序 appid * @description 若不同环境有不同的小程序,可通过在 env 文件中配置环境变量`TARO_APP_ID`来方便快速切换 appid, 而不必手动去修改 dist/project.config.json 文件 * @see https://taro-docs.jd.com/docs/next/env-mode-config#特殊环境变量-taro_app_id */ TARO_APP_ID: string; /** API基础URL */ API_BASE_URL?: string; /** 应用名称 */ APP_NAME?: string; /** 调试模式 */ DEBUG?: string; } } // 全局常量类型定义 declare const API_BASE_URL: string; declare const APP_NAME: string; declare const DEBUG: string; // 基础类型定义 declare global { /** 通用ID类型 */ type ID = string | number; /** 时间戳类型 */ type Timestamp = number; /** 可选的字符串或数字 */ type StringOrNumber = string | number; /** 分页参数基础类型 */ interface BasePaginationParams { page?: number; limit?: number; sort?: string; order?: 'asc' | 'desc'; } /** 分页响应基础类型 */ interface BasePaginationResponse { list: T[]; count: number; page?: number; limit?: number; totalPages?: number; } /** API响应基础类型 */ interface BaseApiResponse { code: number; message?: string; data?: T; timestamp?: Timestamp; } /** 基础实体类型 */ interface BaseEntity { id?: ID; createTime?: string; updateTime?: string; createBy?: string; updateBy?: string; } /** 树形结构基础类型 */ interface BaseTreeNode { id: ID; parentId?: ID; children?: T[]; level?: number; } /** 选项类型 */ interface Option { label: string; value: T; disabled?: boolean; children?: Option[]; } /** 文件上传类型 */ interface UploadFile { uid: string; name: string; status: 'uploading' | 'done' | 'error'; url?: string; size?: number; type?: string; } /** 地址信息类型 */ interface AddressInfo { province: string; city: string; district: string; detail: string; postalCode?: string; longitude?: number; latitude?: number; } /** 联系信息类型 */ interface ContactInfo { name: string; phone: string; email?: string; } }