wepy有支持全局拦截器,但是请求需要使用wepy.request().then();
在app.wpy文件中配置以下内容,与data同级
constructor(){
super();
this.use('requestfix');
this.use('promisify');
//拦截request请求
this.intercept('request',{
//发出请求时的回调函数
config(p){
//对所有request请求中的OBJECT参数对象统一附加时间戳属性
// p.timestamp = +new Date();
// console.log('config request: ',p);
//必须返回OBJECT参数对象,否则无法发送请求到服务端
return p;
},
//请求成功后的回调函数
success(p){
//可以在这里对收到的响应数据对象进行加工处理
tip.loaded();
if(p.data.status != 200){
tip.error(p.data.message);
}
return p;
},
//请求失败后的回调函数
fail(p){
// console.log('request fail: ',p);
//必须返回响应数据对象,否则后续无法对响应数据进行处理
tip.loaded();
tip.error('服务器请求失败,请稍后再试');
return p;
},
//请求完成时的回调函数(请求成功或失败都会被执行)
complete(p){
// console.log('request complete: ',p);
// return p;
}
});
}