createDownloadDispatcher
创建跨平台下载分发器:Electron → Capacitor Android → 浏览器回退。
前置依赖
依赖参数
| 参数名 | 类型 | 说明 |
|---|---|---|
adapters.isElectronDownloadAvailable | (url) => boolean | Electron 下载是否可用 |
adapters.downloadInElectron | (options) => Promise<DownloadResult> | Electron 实现 |
adapters.isCapacitorAndroidDownloadAvailable | (url) => boolean | Capacitor 是否可用 |
adapters.downloadInCapacitorAndroid | (options) => Promise<DownloadResult> | Capacitor 实现 |
adapters.mergeDefaultDownloadDirectory | 可选 | 合并默认目录 |
deps.isElectron | () => boolean | 是否 Electron 渲染进程 |
deps | 其余同 downloadInBrowserResolved | fetch + DOM |
函数签名
typescript
function createDownloadDispatcher(
adapters: DownloadPlatformAdapters,
deps: CreateDownloadDispatcherDeps,
): { download; downloadByUrl }参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
adapters | DownloadPlatformAdapters | 是 | 平台适配器 |
deps | CreateDownloadDispatcherDeps | 是 | 环境依赖 |
返回值
| 类型 | 说明 |
|---|---|
{ download, downloadByUrl } | download 异步完整选项;downloadByUrl fire-and-forget |
工作原理
- 可选合并默认下载目录。
- Electron 可用则优先;失败或非取消时回退浏览器。
- Capacitor Android 同理;最终走
downloadInBrowserResolved。