Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

miniprogram-network

4.0.1-alpha.0 • Public • Published

miniprogram-network npm version

A Network package for MiniProgram

小程序底层网络库封装

Integration

网络库封装

  • Promise泛型Promise
  • CancelToken 可取消操作
  • Queue 队列支持
  • Retry 网络错误自动重试
  • Cache 底层缓存支持
  • 每个请求的原生回调接口支持(onHeadersReceived事件)和(onProgressUpdate事件)
  • Interceptors 拦截器 transform send data / transform response data
  • Listeners 全局事件监听onSend,onResponse,onRejected,onAbort,onComplete

安装

npm i miniprogram-network

配置

通用配置

  • headers 请求头
  • params URL替换参数
  • baseURL 根URL
  • retry 重试次数
  • timestamp 是否记录发送和响应时间戳
  • transformSend 输入转换函数(Request,Download,Upload需分别设置)
  • transformResponse 输出转换函数 (Request,Download,Upload需分别设置)

不同网络请求单独配置项

transform 数据转换

默认的transformResponse直接返回小程序原始的返回数据{statusCode,...}

同时提供了根据状态码返回对应数据的转换方式

import {
    REQUEST, transformRequestResponseOkData,
    DOWNLOAD, transformDownloadResponseOkData,
    UPLOAD, transformUploadResponseOkData,
} from 'miniprogram-network';
 
// Request的默认响应拦设为成transformRequestResponseOkData,
// 正常2xx返回data部分,否则rejected
REQUEST.Defaults.transformResponse = transformRequestResponseOkData;
// Download的默认响应拦设为transformDownloadResponseOkData,
// 正常2xx返回string,否则rejected
DOWNLOAD.Defaults.transformResponse = transformDownloadResponseOkData;
// Upload默认响应拦截transformUploadResponseOkData,
//正常2xx返回data,否则rejected
UPLOAD.Defaults.transformResponse = transformUploadResponseOkData;
 
DOWNLOAD.download('url')
    .then(path=>{
        console.log(path);//string
    }).catch(res=>{
        console.error(res);//objct
    });

快速配置 setConfig

import { setConfig } from 'miniprogram-network';
 
//将Request,Upload,Download的默认baseURL设置为'https://api.newfuture.cc'
setConfig('baseURL', 'https://api.newfuture.cc');
 
//等效方式
setConfig({
    baseURL:'https://api.newfuture.cc'
})
 

Cache 缓存

import {
    cacheConfig, // 缓存配置
    getCache, // 与get方法一致,自动使用cache
    downloadCache, // 与download方法一致,自动使用cache
    requestCache, // 与request方法一致,自动使用cache
    } from 'miniprogram-network';
 
CacheConfig.expire = 30*60*1000;//设置缓存有效时间
// 设置缓存条件,默认响应状态为2xx缓存数据
CacheConfig.resultCondition = function(res){
    return true;
}
 
//getCache 与 Request共用配置
getCache('xxx').then(resolve);
getCache('xxx').then(resolve);
 
// downloadCache 与 Download共用配置
downloadCache('xxx').then();
 

LifeCycle

详情说明miniprogram-network-life-cycle

Install

npm i [email protected]

Version

4.0.1-alpha.0

License

Apache-2.0

Unpacked Size

54.8 kB

Total Files

30

Last publish

Collaborators

  • avatar