定义
基于promise的js http网络请求库
特点
- 支持多种js运行环境 (Node.js,微信小程序、weex、RN、quick App,浏览器)
- 支持请求/响应拦截器
- 自动转换JSON数据
- 切换底层http engine,适配各种运行环境
- 浏览器支持全局ajax拦截
- h5页面内嵌到原生app中时,支持讲http请求转发到
加粗部分没有应用过,后续验证下
安装
npm install flyio
or
<script src="https://unpkg.com/flyio/dist/fly.min.js></script>
使用
- 浏览器,node,RN环境
var fly=require('flyio')
2.小程序环境
var Fly=require('flyio/dist/npm/wx');
var fly=new Fly();
- 添加请求和响应拦截器
fly.interceptors.request.use((request)=>{
wx.showNavigationBarLoading();
let token=wx.getStorageSync('token');
request.headers["token"]=token;
//登录时加多一个请求头,用于记录分享上下级关系
if(request.url.indexOf(config.login)>-1){
request.headers["parent-token"]=token;
}
return request;
})
fly.interceptors.response.use(
(response)=>{
return response.data;
},
(err)=>{
showToast('网络异常,请稍后重试')
}
)
Vue.prototype.$http = fly;
function showToast(msg){
wx.showToast({
title:msg,
icon:'none',
})
}
- 移除拦截器
fly.interceptors.request.use(null);
fly.interceptors.response.use(null,null);
1/100
今天是刻意练习-100天系列的第一天,万事开头难,早上的时候,还完全不知道写什么怎么写,完全是迷茫的,好在今天工作强度不大,一点点磨,拼拼凑凑迈出了第一步,不管如何,也是值得鼓励的,至少这个过程对我是有益的。
keep moving!
网友评论