Download SDK
Download SDK
概述
Download SDK 是 renderer 创建和管理 Download Center 任务的类型化入口。 它覆盖应用更新、资源预取、插件下载、任务历史、维护操作与进度订阅, 不暴露 raw IPC。
运行时契约
useDownloadSdk()基于 TuffTransport 创建类型化 SDK。- 主进程 Download Center 负责任务调度和真实状态。
- renderer 只发送命令并订阅推送事件,不维护第二份任务真源。
metadata.hidden用于标记内部任务,普通下载视图和通知可隐藏这些任务; 开发者模式仍可展示。
可用操作
当前 SDK 包含任务新增/暂停/继续/取消/重试/删除、批量暂停/继续/取消、 任务与历史查询、文件操作、通知设置、维护、统计、迁移状态和任务生命周期 订阅。
使用方法
import { useDownloadSdk } from '@talex-touch/utils/renderer'
const download = useDownloadSdk()
const result = await download.addTask({
url: 'https://example.com/file.zip',
destination: '/path/to/save',
filename: 'file.zip',
priority: 50,
module: 'resource_download',
metadata: { hidden: true }
})
if (!result.success) {
throw new Error(result.error || 'Download failed')
}
订阅方法会返回清理函数。应在所属 Vue 生命周期中注册清理函数,适用时也可 使用 scoped helper。
最佳实践
- 设置有意义的
priority和module,便于调度与诊断。 - 合并或节流任务创建,避免短时间向队列写入大量任务。
- 处理操作失败响应,并提供与场景匹配的重试路径。
- 所属视图或 composable 销毁时取消任务事件订阅。
- 发布/下载服务端路由应通过更新服务契约消费,不要从 renderer 绕过 Download Center。