@ capgo/ 电容器下載器
从您的 Capacitor app 下载背景或前景中的大文件, 并暂停、 恢复和推进事件 。 用户离开屏幕时下载会持续进行.
🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用
@capgo/capacitor-downloader在您的电容应用程序中:npx skills add Cap-go/capgo-skills。然后问你的经纪人: 添加@capgo/电容-下載器到我的Capacitor app上并把它接上" 代理设置指南 • 妇女 主机磁共振
主要特点
- 下载数字 :
download()以可选的 HTTP 头和 a 启动任务wifi-only或者细胞网络规则. - 控制权数字 :
pause(), (中文(简体) ),resume()财务报告和审定财务报表stop()每个下载ID. - 进展活动数字 :
downloadProgress, (中文(简体) ),downloadCompleted财务报告和审定财务报表downloadFailed听众. - 状况和文件数字 :
checkStatus()任务和getFileInfo()用于下载文件. - 平台: iOS和Android. 互联网档案馆的存檔,存档日期2013-12-21. iOS 使用背景
URLSession,Android 用途DownloadManager。在网上不可用.
为什么是电容下载器?
一个可靠的 本地文件下载器 为 Capacitor 应用程序所建, 即使您的应用程序有背景或关闭, 仍会继续下载 :
- 背景下载 - 即使在应用程序最小化、背景化或关闭(主要优势)的情况下,下载仍在继续
- 进展跟踪 - 下载时实时更新进度
- 网络控制 - 在无线网络或蜂窝网络下载之间选择
- 自定义信头 - 添加认证符和自定义 HTTP 信头
- 有偿下载 - 暂停并恢复下载(平台依赖)
- 活动听众 - 监测下载进度、完成和故障
- 大型文件支持 - 处理没有内存问题的多基加比特文件
- 自由和开放源代码 - 不需要有偿服务
适合下载大型媒体文件,下线内容,应用更新,以及任何下载需要生存应用生命周期事件的情况.
文档
这里有最完整的医生: https://capgo.app/docs/plugins/下行装入器/
兼容性
| 插件版本 | 电容兼容性 | 维护 |
|---|---|---|
| 联合国 | 联合国 | ✅ |
| 页:1 | 页:1 | 应要求 |
| 页:1 | 页:1 | ❌ |
| 页:1 | 页:1 | ❌ |
说明: 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.
安装
您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
然后使用下列提示:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-downloader` plugin in my project.
如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:
npm install @capgo/capacitor-downloader
npx cap sync
API 密码
download(...)pause(...)resume(...)stop(...)checkStatus(...)getFileInfo(...)addListener('downloadProgress', ...)addListener('downloadCompleted', ...)addListener('downloadFailed', ...)removeAllListeners()getPluginVersion()- 接口
用背景支持下载文件的电容插件. 提供可重复下载的进度跟踪.
下载(...)
download(options: DownloadOptions) => Promise<DownloadTask>
开始一个新的下载任务 .
| 参数 | 类型 | 说明 |
|---|---|---|
options | DownloadOptions | - 下载配置 |
回返情况: Promise<DownloadTask>
暂停(...)
pause(options: { id: string; }) => Promise<void>
暂停活动下载 . 下载可以在稍后从同一位置恢复.
| 参数 | 类型 | 说明 |
|---|---|---|
options | { id: string; } | - 包含下载任务ID的选项 |
恢复(...)
resume(options: { id: string; }) => Promise<void>
恢复暂停下载 . 从暂停的地方继续.
| 参数 | 类型 | 说明 |
|---|---|---|
options | { id: string; } | - 包含下载任务ID的选项 |
停止(...)
stop(options: { id: string; }) => Promise<void>
停止并永久取消下载 . 下载后的数据将被删除 .
| 参数 | 类型 | 说明 |
|---|---|---|
options | { id: string; } | - 包含下载任务ID的选项 |
检查状态(...)
checkStatus(options: { id: string; }) => Promise<DownloadTask>
请检查下载当前状态 .
| 参数 | 类型 | 说明 |
|---|---|---|
options | { id: string; } | - 包含下载任务ID的选项 |
回返情况: Promise<DownloadTask>
获取FileInfo (...)
getFileInfo(options: { path: string; }) => Promise<{ size: number; type: string; }>
获取下载文件的信息 .
| 参数 | 类型 | 说明 |
|---|---|---|
options | { path: string; } | - 包含文件路径的选项 |
回返情况: Promise<{ size: number; type: string; }>
添加倾听器( “ 下载进度 ” ,...)
addListener(eventName: 'downloadProgress', listenerFunc: (progress: { id: string; progress: number; bytesWritten?: number | undefined; bytesTotal?: number | undefined; }) => void) => Promise<PluginListenerHandle>
听取下载进度更新. 随着下载进度,定期放行.
| 参数 | 类型 | 说明 |
|---|---|---|
eventName | 'downloadProgress' | - 一定是"下载进展" |
listenerFunc | (progress: { id: string; progress: number; bytesWritten?: number; bytesTotal?: number; }) => void | - 召回接收进度更新 |
回返情况: Promise<PluginListenerHandle>
添加倾听器( “ 下载完成 ” ,...)
addListener(eventName: 'downloadCompleted', listenerFunc: (result: { id: string; }) => void) => Promise<PluginListenerHandle>
听取下载完成 . 当下载成功完成时已解除 .
| 参数 | 类型 | 说明 |
|---|---|---|
eventName | 'downloadCompleted' | - 一定是"下载完成" |
listenerFunc | (result: { id: string; }) => void | - 收到完成通知的召回 |
回返情况: Promise<PluginListenerHandle>
添加倾听器( “ 下载失败 ” ,...)
addListener(eventName: 'downloadFailed', listenerFunc: (error: { id: string; error: string; }) => void) => Promise<PluginListenerHandle>
听取下载失败 . 当下载遇到错误时被解除 .
| 参数 | 类型 | 说明 |
|---|---|---|
eventName | 'downloadFailed' | - 一定是"失败了" |
listenerFunc | (error: { id: string; error: string; }) => void | - 回调收到错误信息 |
回返情况: Promise<PluginListenerHandle>
删除所有收听器( )
removeAllListeners() => Promise<void>
删除全部事件听众 . 清理方法防止内存出漏.
获取 PluginVersion ()
getPluginVersion() => Promise<{ version: string; }>
获取插件版本号 .
回返情况: Promise<{ version: string; }>
接口
下载任务
代表下载任务的现状和进度 .
| Prop | 类型 | 说明 |
|---|---|---|
id | string | 下载任务的独特标识符 |
progress | number | 下载进度从 0 到 100 |
state | 'PENDING' | 'RUNNING' | 'PAUSED' | 'DONE' | 'ERROR' | 下载的当前状态 |
下载选项
启动下载的配置选项 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
id | string | 此下载任务的独特标识符 | |
url | string | 要下载的文件的 URL | |
destination | string | 保存下载的本地文件路径 | |
headers | { [key: string]: string; } | 在请求中包含的可选 HTTP 头 | |
network | 'cellular' | 'wifi-only' | 下载的网络类型要求 | |
priority | 'high' | 'normal' | 'low' | 下载优先级 | |
notification | 'completed' | 'progress' | 'hidden' | Android DownloadManager 通知可见度. - 'completed' (默认) : 下载时显示, 完成后保留通知 。 - 'progress': 下载时显示, 完成时删除通知 。 - 'hidden':没有系统通知;取而代之的是插件进度事件。 在iOS和Web上被忽略. | 8.2.0 (中文(简体) ) |
插件听筒
| Prop | 类型 |
|---|---|
remove | () => Promise<void> |
信贷
此插件灵感来自 : https://github.com/kesha-antonov/ react-native-background-downloader (中文(简体) )