flyio:
一个支持所有JavaScript运行环境的基于Promise的、支持请求转发、自动转换JSON、支持请求/响应拦截器、强大的http请求库。
可以让您在多个端上尽可能大限度的实现代码复用。
flyio官方文档
flyio下载地址
原生微信小程序中使用flyio请求,封装代码如下
一、在src/utils下新建request.js文件,文件代码如下:
/*flyio:
一个支持所有JavaScript运行环境的基于Promise的、支持请求转发、强大的http请求库。
可以让您在多个端上尽可能大限度的实现代码复用。
*/
/**配置fly 请求体 */
//引入下载的源码文件
const Fly = require("./fly/dist/npm/wx")
const fly =new Fly()//创建fly实例
import {
doLogin} from '../utils/wechat'
//设置超时时间
fly.config.timeout = 60000
//获取白名单
import whiteList from './whiteList'
//添加请求拦截器
fly.interceptors.request.use((request) => {
wx.showLoading({
title: '加载中',
'mask': true
})
//不显示加载中页面的接口
if(whiteList.loading.indexOf(request.url) == -1){
//indexOf()如果要检索的字符串值没有出现,则该方法返回 -1
//隐藏loading遮罩
wx.hideLoading();
}
//默认加入3rd_session
let third_session = wx.getStorageSync("third_session");
if(!third_session){
//不存在third_session,重新登录
request.body['third_session'] = '';
}else{
request.body['third_session'] = third_session;
}
request.params = request.body;
request.headers['Content-Type'] = 'application/json;charset=utf-8';
console.log("request.body:"+JSON.stringify(request.body));
return request;
});
//添加响应拦截器,响应拦截