http.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. // 本地环境
  2. // const $perfix = 'http://localhost:8090';
  3. const $perfix = 'http://192.168.0.115:8099';
  4. // 测试环境
  5. // const $perfix = 'http://114.135.61.188:58082';
  6. // 演示环境
  7. // const $perfix = 'https://water.zoniot.com';
  8. // 正式环境
  9. // const $perfix = 'https://water.zoniot.com';
  10. const toLogin = (status = 0) => {
  11. if (status !== -406) return;
  12. wx.removeStorageSync('token');
  13. getApp().token = '';
  14. };
  15. const httpFun = (url, data, type, isForm) => {
  16. let token = getApp().token || wx.getStorageSync('token');
  17. return new Promise(resolve => {
  18. const filterUrl = [
  19. '/user/openidLogin',
  20. ];
  21. if (token && filterUrl.indexOf(url) == -1) {
  22. token = 'Bearer ' + token;
  23. } else {
  24. token = null;
  25. }
  26. wx.request({
  27. url: `${$perfix}/api${url}`,
  28. data: data,
  29. method: type,
  30. header: {
  31. [token && "Authorization"]: token,
  32. [isForm && "Content-Type"]: "application/x-www-form-urlencoded"
  33. },
  34. complete(res) {
  35. if (res.statusCode === 200) {
  36. toLogin(res.data.status);
  37. resolve(res.data);
  38. } else if (res.statusCode >= 500 && res.statusCode < 520) {
  39. wx.hideLoading();
  40. wx.showModal({
  41. title: '提示',
  42. content: '网络或服务异常,点击“确定”返回当前页',
  43. showCancel: false,
  44. success(res) {
  45. getApp().globalData = {};
  46. getApp().getUserInfo(getApp().token);
  47. }
  48. })
  49. resolve(res);
  50. return;
  51. } else {
  52. // wx.showToast({
  53. // title: res.statusCode + '',
  54. // icon: 'none'
  55. // })
  56. resolve(res);
  57. }
  58. }
  59. })
  60. })
  61. }
  62. module.exports = {
  63. domain: $perfix,
  64. postForm(url, data) {
  65. return httpFun(url, data, 'post', true);
  66. },
  67. post(url, data) {
  68. return httpFun(url, data, 'post', false);
  69. },
  70. deleteForm(url, data) {
  71. return httpFun(url, data, 'delete', true);
  72. },
  73. get(url, data) {
  74. return httpFun(url, data, 'get', false);
  75. }
  76. }