interceptor 拦截器

可以使用WePY提供的全局拦截器对原生API的请求进行拦截。

具体方法是配置API的config、fail、success、complete回调函数。参考示例:

  1. import wepy from 'wepy';
  2. export default class extends wepy.app {
  3. constructor () {
  4. // this is not allowed before super()
  5. super();
  6. // 拦截request请求
  7. this.intercept('request', {
  8. // 发出请求时的回调函数
  9. config (p) {
  10. // 对所有request请求中的OBJECT参数对象统一附加时间戳属性
  11. p.timestamp = +new Date();
  12. console.log('config request: ', p);
  13. // 必须返回OBJECT参数对象,否则无法发送请求到服务端
  14. return p;
  15. },
  16. // 请求成功后的回调函数
  17. success (p) {
  18. // 可以在这里对收到的响应数据对象进行加工处理
  19. console.log('request success: ', p);
  20. // 必须返回响应数据对象,否则后续无法对响应数据进行处理
  21. return p;
  22. },
  23. //请求失败后的回调函数
  24. fail (p) {
  25. console.log('request fail: ', p);
  26. // 必须返回响应数据对象,否则后续无法对响应数据进行处理
  27. return p;
  28. },
  29. // 请求完成时的回调函数(请求成功或失败都会被执行)
  30. complete (p) {
  31. console.log('request complete: ', p);
  32. }
  33. });
  34. }
  35. }