Skip to content

createDownloadDispatcher

创建跨平台下载分发器:Electron → Capacitor Android → 浏览器回退。

前置依赖

依赖参数

参数名类型说明
adapters.isElectronDownloadAvailable(url) => booleanElectron 下载是否可用
adapters.downloadInElectron(options) => Promise<DownloadResult>Electron 实现
adapters.isCapacitorAndroidDownloadAvailable(url) => booleanCapacitor 是否可用
adapters.downloadInCapacitorAndroid(options) => Promise<DownloadResult>Capacitor 实现
adapters.mergeDefaultDownloadDirectory可选合并默认目录
deps.isElectron() => boolean是否 Electron 渲染进程
deps其余同 downloadInBrowserResolvedfetch + DOM

函数签名

typescript
function createDownloadDispatcher(
  adapters: DownloadPlatformAdapters,
  deps: CreateDownloadDispatcherDeps,
): { download; downloadByUrl }

参数

参数名类型必填说明
adaptersDownloadPlatformAdapters平台适配器
depsCreateDownloadDispatcherDeps环境依赖

返回值

类型说明
{ download, downloadByUrl }download 异步完整选项;downloadByUrl fire-and-forget

工作原理

  1. 可选合并默认下载目录。
  2. Electron 可用则优先;失败或非取消时回退浏览器。
  3. Capacitor Android 同理;最终走 downloadInBrowserResolved