feat(media-hosting): add multi-provider configurable upload with fallback

Add Random/Preferred/None modes, preferred provider selection, and provider-order fallback. Catbox/Imgur/PostImages on Android via WebView; Electron CDP automation for Imgur/PostImages. Hide upload controls on web runtime.
This commit is contained in:
plebeius
2026-02-18 18:51:02 +08:00
parent 72b70915fd
commit 96a4aaec0e
63 changed files with 1991 additions and 201 deletions
+13 -1
View File
@@ -1,7 +1,19 @@
import { registerPlugin } from '@capacitor/core';
import type { ProviderAttempt, ProviderId } from '../lib/media-hosting/types';
export interface PickAndUploadMediaOptions {
providerOrder: ProviderId[];
}
export interface PickAndUploadMediaResult {
url: string;
fileName: string;
provider: ProviderId;
attempts?: ProviderAttempt[];
}
export interface FileUploaderPlugin {
pickAndUploadMedia(): Promise<{ url: string; fileName: string }>;
pickAndUploadMedia(options?: PickAndUploadMediaOptions): Promise<PickAndUploadMediaResult>;
}
const FileUploader = registerPlugin<FileUploaderPlugin>('FileUploader');