article-writer-cn
Version:
AI 驱动的智能写作系统 - 专注公众号/自媒体文章创作
67 lines • 2.07 kB
TypeScript
/**
* 图床服务工厂
* 负责创建和管理各种图床提供者
*/
import { ImageBedType, type ImageBedProvider, type ImageBedFactoryConfig, type UploadResult } from './types.js';
export declare class ImageBedFactory {
private config;
private providers;
constructor(config: ImageBedFactoryConfig);
/**
* 初始化所有配置的图床提供者
*/
private initializeProviders;
/**
* 根据配置创建图床提供者实例
*/
private createProvider;
/**
* 获取默认图床提供者
*/
getDefaultProvider(): ImageBedProvider | null;
/**
* 获取指定类型的图床提供者
*/
getProvider(type: ImageBedType): ImageBedProvider | null;
/**
* 获取所有可用的图床提供者
*/
getAllProviders(): ImageBedProvider[];
/**
* 上传单张图片(使用默认图床)
*/
upload(imagePath: string, remotePath?: string): Promise<UploadResult>;
/**
* 上传单张图片(使用指定图床,支持降级)
*/
uploadWithFallback(imagePath: string, remotePath?: string): Promise<UploadResult>;
/**
* 批量上传图片(使用默认图床)
*/
uploadBatch(imagePaths: string[]): Promise<UploadResult[]>;
/**
* 批量上传图片(支持降级,每张图片独立尝试降级)
*/
uploadBatchWithFallback(imagePaths: string[]): Promise<UploadResult[]>;
/**
* 验证所有图床配置
*/
validateAllConfigs(): Promise<Record<ImageBedType, boolean>>;
/**
* 获取配置摘要
*/
getConfigSummary(): {
defaultProvider: ImageBedType;
fallbackProviders: ImageBedType[];
availableProviders: ImageBedType[];
};
}
/**
* 创建默认图床工厂(仅使用 Base64)
*/
export declare function createDefaultImageBedFactory(): ImageBedFactory;
/**
* 从配置文件加载图床工厂
*/
export declare function createImageBedFactoryFromConfig(config: Partial<ImageBedFactoryConfig>): ImageBedFactory;
//# sourceMappingURL=image-bed-factory.d.ts.map