http.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. "use strict";
  2. const common_vendor = require("../common/vendor.js");
  3. var define_import_meta_env_default = {};
  4. const baseURL = define_import_meta_env_default.VITE_API_URL;
  5. const httpInterceptor = {
  6. // 拦截前触发
  7. invoke(options) {
  8. if (!options.url.startsWith("http")) {
  9. options.url = baseURL + options.url;
  10. }
  11. options.timeout = 3e4;
  12. options.header = {
  13. ...options.header,
  14. "source-client": "miniapp"
  15. };
  16. }
  17. };
  18. common_vendor.index.addInterceptor("request", httpInterceptor);
  19. const http = (options) => {
  20. return new Promise((resolve, reject) => {
  21. common_vendor.index.request({
  22. ...options,
  23. // 响应成功
  24. success(res) {
  25. if (res.statusCode >= 200 && res.statusCode < 300) {
  26. if (res.data.code == 401) {
  27. common_vendor.index.redirectTo({ url: "/" });
  28. } else {
  29. resolve(res.data);
  30. }
  31. } else if (res.statusCode === 401) {
  32. common_vendor.index.redirectTo({ url: "/" });
  33. reject(res);
  34. } else {
  35. common_vendor.index.showToast({
  36. icon: "none",
  37. title: res.data.msg || "请求错误"
  38. });
  39. reject(res);
  40. }
  41. },
  42. // 响应失败
  43. fail(err) {
  44. common_vendor.index.showToast({
  45. icon: "none",
  46. title: "网络错误,换个网络试试"
  47. });
  48. reject(err);
  49. }
  50. });
  51. });
  52. };
  53. exports.http = http;