当前位置:   article > 正文

小程序ajax网络请求封装携带token_接口401 ajax封装

接口401 ajax封装

问题描述

项目中接口使用restful api风格,需要携带token,当http状态码为401时需要重新发起登录,为方便统一管理将小程序网络请求原生接口封装

代码

utils/request.js   请求类

token存在globalData中,默认携带,服务端判断错误时可以登录更新

  1. /**
  2. *
  3. * 网络请求相关操作
  4. * statusCode为401时跳转到重新登录更新token
  5. */
  6. //接口地址
  7. var _api = 'http://www.aaa.com/';
  8. function
  9. curl(url, data, success, fail, method)
  10. {
  11. var token = getApp().globalData.token;
  12. wx.request({
  13. url: _api + url,
  14. header: {
  15. 'Content-Type': 'application/json',
  16. 'Authorization': token
  17. },
  18. method: method,
  19. data: data,
  20. success: function (res) {
  21. if (res.statusCode == 401) {
  22. toLogin();
  23. }
  24. success(res);
  25. },
  26. fail: function (error) {
  27. fail(error);
  28. }
  29. });
  30. }
  31. /**
  32. * get方式获取数据
  33. */
  34. function _get(url, data, success, fail) {
  35. curl(url, data, success, fail, 'GET');
  36. }
  37. function post(url, data, success, fail) {
  38. curl(url, data, success, fail, 'POST');
  39. }
  40. function put(url, data, success, fail) {
  41. curl(url, data, success, fail, 'PUT');
  42. }
  43. function _delete(url, data, success, fail) {
  44. curl(url, data, success, fail, 'DELETE');
  45. }
  46. function toLogin() {
  47. wx.navigateTo({
  48. url: '/pages/login/login'
  49. })
  50. }
  51. module.exports = {
  52. GET: _get,
  53. POST: post,
  54. PUT: put,
  55. DELETE: _delete,
  56. URL: _api,
  57. }

使用

request.GET(接口地址, '参数',成功回调函数,失败回调函数)
  1. var request = require("../../utils/request.js");
  2. /**
  3. * 获取幻灯片
  4. */
  5. getSlideList() {
  6. var that = this;
  7. var slide = cache.cache('slide');
  8. if (slide) {
  9. that.setData({
  10. slideList: slide,
  11. })
  12. } else {
  13. request.GET('slide', '',
  14. function (res) {
  15. if (res.data.code == 0) {
  16. that.setData({
  17. slideList: res.data.data.data,
  18. })
  19. cache.cache('slide',res.data.data.data);
  20. }
  21. },function (error) {
  22. console.log(error);
  23. })
  24. }
  25. },

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/147996
推荐阅读
相关标签
  

闽ICP备14008679号