An axios API like
Downloadpackage 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)onAbortonCompletenpm 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');