Navel Pondering Mantra

    miniprogram-downloader
    TypeScript icon, indicating that this package has built-in type declarations

    5.3.0-alpha.0 • Public • Published

    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');

    Install

    npm i miniprogram-downloader

    DownloadsWeekly Downloads

    8

    Version

    5.3.0-alpha.0

    License

    Apache-2.0

    Unpacked Size

    57.4 kB

    Total Files

    30

    Last publish

    Collaborators

    • newfuture