/** * 数据库中存储的资源元数据模型 */ export interface AssetData { id: string; mime: string; hash: string; size: number; createdAt: Date; lastUsedAt: Date; metadata: AssetMetadata; } /** * 资源元数据 */ export interface AssetMetadata { filename?: string; src?: string; summary?: string; width?: number; height?: number; } /** * 对外暴露的资源信息 */ export interface AssetInfo extends Omit { } /** * 文件统计信息 */ export interface FileStats { size: number; modifiedAt: Date; createdAt: Date; } /** * 存储驱动接口 */ export interface StorageDriver { write(id: string, buffer: Buffer): Promise; read(id: string): Promise; delete(id: string): Promise; exists(id: string): Promise; getStats?(id: string): Promise; listFiles?(): Promise; } /** * 图片处理选项 */ export interface ImageProcessingOptions { /** 是否对图片进行处理 */ process?: boolean; /** 目标格式,如 'webp' 或 'jpeg' */ format?: "webp" | "jpeg"; } /** * 读取资源时的选项 */ export interface ReadAssetOptions { /** 输出格式 */ format?: "buffer" | "base64" | "data-url"; /** 针对图片资源的特定处理选项 */ image?: ImageProcessingOptions; } export interface FileResponse { type: string; data: Buffer; filename?: string; }