wepy全局拦截器

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;

    }

  });

}
posted @ 2019-12-13 10:29  simple-love  阅读(675)  评论(0编辑  收藏  举报