文档/Download SDK

Download SDK

通用开发

Download SDK

概述

Download SDK 是 renderer 创建和管理 Download Center 任务的类型化入口。 它覆盖应用更新、资源预取、插件下载、任务历史、维护操作与进度订阅, 不暴露 raw IPC。

运行时契约

  • useDownloadSdk() 基于 TuffTransport 创建类型化 SDK。
  • 主进程 Download Center 负责任务调度和真实状态。
  • renderer 只发送命令并订阅推送事件,不维护第二份任务真源。
  • metadata.hidden 用于标记内部任务,普通下载视图和通知可隐藏这些任务; 开发者模式仍可展示。

可用操作

当前 SDK 包含任务新增/暂停/继续/取消/重试/删除、批量暂停/继续/取消、 任务与历史查询、文件操作、通知设置、维护、统计、迁移状态和任务生命周期 订阅。

使用方法

EXAMPLE.TYPESCRIPT
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。

相关文档