miniprogram-downloader 
An axios API like
Download
package for MiniProgram小程序下载封装 小程序网络库miniprogram-network 核心库之一
API
methods:
download<T>(options: DownloadOption): Promise<T>
;download<T>(url: string, filePath?: string, options?): Promise<T>
options
- <input checked="" disabled="" type="checkbox">
url
地址 required (只能请求时设置for single request) - <input checked="" disabled="" type="checkbox">
filePath
保存地址 (只能请求时设置for single request) - <input checked="" disabled="" type="checkbox">
cancelToken
取消 (只能请求时设置for single request) - <input checked="" disabled="" type="checkbox">
onProgressUpdate
下载进度响应 (只能请求时设置for single request) - <input checked="" disabled="" type="checkbox">
onHeadersReceived
接收头响应 (只能请求时设置for single request) - <input checked="" disabled="" type="checkbox">
timeout
自定义超时时间ms (只能请求时设置for single request) - <input checked="" disabled="" type="checkbox">
headers
请求头 - <input checked="" disabled="" type="checkbox">
params
URL参数 - <input checked="" disabled="" type="checkbox">
baseURL
根URL - <input checked="" disabled="" type="checkbox">
retry
重试次数 - <input checked="" disabled="" type="checkbox">
timestamp
是否记录发送和响应时间戳 - <input checked="" disabled="" type="checkbox">
transformSend
输入转换函数 - <input checked="" disabled="" type="checkbox">
transformResponse
输出转换函数
Global Listeners
- <input checked="" disabled="" type="checkbox">
onSend
(before request data send & after request data transformed) - <input checked="" disabled="" type="checkbox">
onResponse
(after request response data transformed) - <input checked="" disabled="" type="checkbox">
onRejected
(beforecatch
of Promise) - <input checked="" disabled="" type="checkbox">
onAbort
- <input checked="" disabled="" type="checkbox">
onComplete
Usage
install
npm i miniprogram-downloader
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-downloader';
// 创建一个 tokensource
const source = CancelToken.source();
DOWNLOAD.download('items','tempfile' , {
// 配置 cancelToken
cancelToken: source.token
});
// 需要取消操作时
source.cancel('cancel the download');