Natural Performance Manager

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

    5.3.0-alpha.0 • Public • Published

    miniprogram-uploader npm version

    An axios API like Upload package for MiniProgram

    小程序上传封装 小程序网络库miniprogram-network 核心库之一

    API

    methods:

    • upload<T>(options: UploadOption): Promise<T>;
    • upload<T>(filePath: string, name: string, url?: string, options?): Promise<T>;

    options

    • [x] filePath 文件路径 required (只能请求时设置for single request)
    • [x] name 上传文件名 required (只能请求时设置for single request)
    • [x] data 额外数据 (只能请求时设置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] url 上传地址
    • [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-uploader
    

    quick start

    import {UPLOAD} from 'miniprogram-uploader';
    UPLOAD.upload(localPath,'file','https://upload.site/file')
        .then(console.log) // 返回数据
        .catch(err=>wx.showToast({title:'下载失败'}));

    直接返回保存位置

    import {UPLOAD,transformUploadResponseOkData} from 'miniprogram-uploader';
    // 根据状态码,直接返回保存地址
    //默认配置全局有效
    UPLOAD.Defaults.transformResponse=transformUploadResponseOkData;
    
    //js
    UPLOAD.upload(localPath,'file','https://upload.site/file').then(console.log);//打印data string
    //TS
    UPLOAD.upload<{url:string}>(localPath,'file','https://upload.site/file')
        .then(data=>{
            console.log(data)//打印数据object {url:'xxx'}
        }) 
    
    //返回完整数据 对当前下载有效
    UPLOAD.upload(url:'item/1.jpg',null,{transformResponse:(res,o)=>res})
        .then(console.log) //打印 返回的Object {errMsg:'xx',data:"{url:'xxx'}"}

    CancelToken (abort)

    可通过cancel token 方式取消请求

    import { UPLOAD, CancelToken } from 'miniprogram-uploader';
    
    // 创建一个 tokensource
    const source = CancelToken.source();
    
    UPLOAD.upload({ 
        filePath:localPath,
        file:'tempfile', 
        // 配置 cancelToken
        cancelToken: source.token 
    });
    
    // 需要取消操作时
    source.cancel('canceled');

      This feature is exclusive to Teams

      Illustration of wombats

      The package file explorer is only available for Teams at the moment.

      We may support exploring this package in the future. Check back soon.

      Install

      npm i miniprogram-uploader

      DownloadsWeekly Downloads

      5

      Version

      5.3.0-alpha.0

      License

      Apache-2.0

      Unpacked Size

      63.9 kB

      Total Files

      30

      Last publish

      Collaborators

      • newfuture