1.1.0 • Published 4 years ago

@aligov/gov-spread v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
4 years ago

Download

npm publish 失败,暂时没找到原因,先使用 @alife 发布到 tnpm

后续发布到 npm 需要修改为 @aligov/download,包括 demo 以及 package.json

@aligov/gov-spread

下载按钮,支持两种形式:

  • 传入 url,点击后直接下载(新标签页打开)
  • 先创建文件生成任务,然后轮询任务直到生成下载链接、失败或超过轮询次数限制。

API

直接展示的是一个基于 @alifd/nextButton 的按钮,除了后面罗列的参数外,其它额外参数将作为 Button 的属性。

直接下载

直接下载是指点击后就新标签页打开给定的地址,当 props.url 存在时就进入此模式。

参数名说明必填类型默认值备注
url文件访问地址Ystring直接下载模式下必填

异步生成

当无 props.url 时,进入先创建文件生成任务,然后轮询获取文件下载链接的模式。

参数名说明必填类型默认值备注
createService创建文件生成任务Y() => Promise<ITaskId>返回任务 id
pollingService轮询任务Y(taskId: ITaskId) => Promise<IPollingResult>
maxPollingTimes最大轮询次数Nnumber60
pollingInterval轮询时间间隔,单位毫秒Nnumber1000
autoDownload轮询成功后是否自动下载Nbooleanfalse
dialogTitledialog titleNReactNode
onOk文件地址生成后回调N(url: string) => void

其中,

type ITaskId = number | string

interface IPollingResult {
    status: 'init' | 'running' | 'done' | 'failed';
    payload?: string;
}