http.js 2.1 KB

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