request.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. "use strict";
  2. const common_vendor = require("../common/vendor.js");
  3. const BASE_URL = "http://127.0.0.1:8080";
  4. const CLIENT_ID = "e48ac397bff4f031b14d6e671eee49c3";
  5. let isRedirectingToLogin = false;
  6. function getToken() {
  7. return common_vendor.index.getStorageSync("token") || "";
  8. }
  9. function redirectToLogin() {
  10. if (isRedirectingToLogin)
  11. return;
  12. isRedirectingToLogin = true;
  13. common_vendor.index.showToast({ title: "登录已失效,请重新登录", icon: "none", duration: 1500 });
  14. setTimeout(() => {
  15. isRedirectingToLogin = false;
  16. common_vendor.index.reLaunch({ url: "/pages/login/index" });
  17. }, 1500);
  18. }
  19. function request(options = {}) {
  20. const { url, method = "GET", data = {}, header = {} } = options;
  21. const token = getToken();
  22. const headers = {
  23. "Content-Type": "application/json",
  24. "clientid": CLIENT_ID,
  25. "Authorization": "Bearer " + token,
  26. ...header
  27. };
  28. return new Promise((resolve, reject) => {
  29. common_vendor.index.request({
  30. url: BASE_URL + url,
  31. method,
  32. data,
  33. header: headers,
  34. success(res) {
  35. const { code, msg, data: data2, total, rows } = res.data;
  36. if (code === 200) {
  37. const result = {};
  38. if (data2 !== void 0)
  39. result.data = data2;
  40. if (total !== void 0)
  41. result.total = total;
  42. if (rows !== void 0)
  43. result.rows = rows;
  44. resolve(result);
  45. } else if (code === 401) {
  46. redirectToLogin();
  47. reject(new Error("登录已失效"));
  48. } else if (code === 500) {
  49. reject(new Error(msg));
  50. } else {
  51. reject(new Error(msg || "请求失败"));
  52. }
  53. },
  54. fail(err) {
  55. const message = err.errMsg || "网络请求失败";
  56. common_vendor.index.showToast({ title: message, icon: "none" });
  57. reject(new Error(message));
  58. }
  59. });
  60. });
  61. }
  62. exports.request = request;
  63. //# sourceMappingURL=../../.sourcemap/mp-weixin/utils/request.js.map