http.js 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. function HTTP(obj, config) {
  2. let defaultConfig = {
  3. isRes: false,
  4. loading: false
  5. }
  6. config = { ...defaultConfig,
  7. ...config
  8. }
  9. // 如果需要显示loading,mask防止点击穿透
  10. config.loading && uni.showLoading({
  11. title: '加载中',
  12. mask: true
  13. });
  14. return new Promise((resolve, reject) => {
  15. let options = {
  16. url: "",
  17. method: "GET",
  18. data: {},
  19. dataType: "json",
  20. header: {
  21. "content-type": "application/json",
  22. "X-requested-With": "XMLHttpRequest"
  23. },
  24. success: (res) => {
  25. console.log("HTTP请求结果:",res)
  26. uni.hideLoading();
  27. // 状态码为200
  28. if (res.statusCode == 200) {
  29. let data = res.data;
  30. console.log(data)
  31. resolve(data)
  32. }else {
  33. reject("HTTP:状态码异常!");
  34. }
  35. },
  36. fail: (err) => {
  37. console.log(err)
  38. uni.hideLoading();
  39. uni.showToast({
  40. title: "网络异常,请稍后再试!",
  41. icon: "none",
  42. })
  43. reject("网络异常,请稍后再试!");
  44. },
  45. complete: () => {}
  46. }
  47. options = { ...options,
  48. ...obj
  49. };
  50. const OPENID = uni.getStorageSync("openId");
  51. const token=uni.getStorageSync("token");
  52. // const location=uni.getStorageSync("location");
  53. // if(location){
  54. // //所有接口带上当前位置信息
  55. // options["data"]["latitude"] = location.latitude;
  56. // options["data"]["longitude"] = location.longitude;
  57. // options["data"]["pcitycode"] = location.pcitycode;
  58. // }
  59. // console.log("token==="+token);
  60. if (OPENID) options["header"]["openId"] = OPENID;
  61. if (token) options["header"]["token"] = token;
  62. if (options.url && options.method) {
  63. wx.request(options);
  64. } else {
  65. wx.showToast({
  66. title: 'HTTP:缺失参数',
  67. icon: "none",
  68. duration: 2000
  69. })
  70. }
  71. })
  72. }
  73. export default {
  74. GET(url, data = {}, config) {
  75. return HTTP({
  76. url,
  77. data,
  78. method: "GET"
  79. }, config);
  80. },
  81. POST(url, data = {}, config) {
  82. return HTTP({
  83. url,
  84. data,
  85. method: "POST"
  86. }, config);
  87. },
  88. POSTformdata(url, data = {}, config) {
  89. return HTTP({
  90. url,
  91. data,
  92. method: "POST"
  93. }, config);
  94. }
  95. }