Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including miniprogram-downloader with all npm packages installed. Try it out:

var miniprogramDownloader = require("miniprogram-downloader")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

miniprogram-downloader v5.1.10

minprogram download package

miniprogram-downloader npm version

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

  • [x] url 地址 required (只能请求时设置for single request)
  • [x] filePath 保存地址 (只能请求时设置for single request)
  • [x] cancelToken 取消 (只能请求时设置for single request)
  • [x] onProgressUpdate 下载进度响应 (只能请求时设置for single request)
  • [x] onHeadersReceived 接收头响应 (只能请求时设置for single request)
  • [x] timeout 自定义超时时间ms (只能请求时设置for single request)
  • [x] headers 请求头
  • [x] params URL参数
  • [x] baseURL 根URL
  • [x] retry 重试次数
  • [x] timestamp 是否记录发送和响应时间戳
  • [x] transformSend 输入转换函数
  • [x] transformResponse 输出转换函数

Global Listeners

  • [x] onSend (before request data send & after request data transformed)
  • [x] onResponse (after request response data transformed)
  • [x] onRejected (before catch of Promise)
  • [x] onAbort
  • [x] 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');
RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free