An axios API like
Download
package for MiniProgram小程序下载封装 小程序网络库miniprogram-network 核心库之一
download<T>(options: DownloadOption): Promise<T>
;download<T>(url: string, filePath?: string, options?): Promise<T>
url
地址 required (只能请求时设置for single request)filePath
保存地址 (只能请求时设置for single request)cancelToken
取消 (只能请求时设置for single request)onProgressUpdate
下载进度响应 (只能请求时设置for single request)onHeadersReceived
接收头响应 (只能请求时设置for single request)timeout
自定义超时时间ms (只能请求时设置for single request)headers
请求头params
URL参数baseURL
根URLretry
重试次数timestamp
是否记录发送和响应时间戳transformSend
输入转换函数transformResponse
输出转换函数onSend
(before request data send & after request data transformed)onResponse
(after request response data transformed)onRejected
(before catch
of Promise)onAbort
onComplete
npm i miniprogram-downloader
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
可通过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');