Naboo's Podracing Misadventure
Join us to discuss the challenges, solutions and best practices for in-house JavaScript code sharing. Tuesday, 12/17 at 10am PT/1pm ET.Sign up here »

miniprogram-downloader

2.3.1-alpha.0 • Public • Published

miniprogram-downloader npm version

An axios API like Download package for MiniProgram [alpha]

小程序下载封装 [alpha] 小程序网络库miniprogram-network 核心库之一

API

methods:

  • download<T>(options: DownloadOption): Promise<T>;
  • download<T>(url: string, filePath?: string, options?): Promise<T>

options

  • url 地址 required (只能请求时设置for single request)
  • filePath 保存地址 (只能请求时设置for single request)
  • cancelToken 取消 (只能请求时设置for single request)
  • onProgressUpdate 下载进度响应 (只能请求时设置for single request)
  • onHeadersReceived 接收头响应 (只能请求时设置for single request)
  • jump 是否插队 (只能请求时设置for single request)
  • headers
  • params
  • baseURL
  • retry
  • transformSend
  • transformResponse

Global Listeners

  • onSend (before request data send & after request data transformed)
  • onResponse (after request response data transformed)
  • onRejected (before catch of Promise)
  • onAbort
  • onComplete

Usage

quick start

import {Download} from 'miniprogram-downloder';
Download.download('item/1.jpg')
        .then(applyFunction) // 返回数据
        .catch(err=>wx.showToast({title:'下载失败'}));
 
Download.download({url:'item/1.jpg'})
        .then(applyFunction) // 返回数据
        .catch(err=>wx.showToast({title:'下载失败'}));

直接返回保存位置

import {Download,transformDownloadResponseOkData} from 'miniprogram-downloder';
// 根据状态码,直接返回保存地址
//默认配置全局有效
Download.Defaults.transformResponse=transformDownloadResponseOkData;
 
//js
Download.download('item/1.jpg').then(console.log);//打印字符串,保存地址 
//TS
Download.download<string>('item/1.jpg')
        .then(path=>{
            console.log(path)//path 为保存路径
        }) 
 
 
//返回完整数据 对当前下载有效
Download.download(url:'item/1.jpg',null,{transformResponse:(res,o)=>res})
        .then(console.log) //打印 返回的Object

CancelToken (abort)

可通过cancel token 方式取消请求

import { Download, CancelToken } from 'miniprogram-request';
 
// 创建一个 tokensource
const source = CancelToken.source();
 
Download.download('items','tempfile' , { 
    // 配置 cancelToken
    cancelToken: source.token 
});
 
// 需要取消操作时
source.cancel('cancel the download');

Install

npm i [email protected]

Version

2.3.1-alpha.0

License

Apache-2.0

Unpacked Size

31.2 kB

Total Files

18

Last publish

Collaborators

  • avatar