request.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. "use strict";
  2. const common_vendor = require("../common/vendor.js");
  3. const stores_user = require("../stores/user.js");
  4. const config = require("../config.js");
  5. const utils_auth = require("../utils/auth.js");
  6. const utils_errorCode = require("../utils/errorCode.js");
  7. const utils_common = require("../utils/common.js");
  8. const baseUrl = config.config.baseUrl;
  9. const request = (config2) => {
  10. console.log(config2);
  11. const isToken = (config2.headers || {}).isToken === false;
  12. config2.header = config2.header || {};
  13. if (utils_auth.getToken() && !isToken) {
  14. config2.header["satoken"] = utils_auth.getToken();
  15. config2.header["sysId"] = common_vendor.index.getStorageSync("sysId");
  16. }
  17. if (config2.params) {
  18. let url = config2.url + "?" + utils_common.tansParams(config2.params);
  19. url = url.slice(0, -1);
  20. config2.url = url;
  21. }
  22. return new Promise((resolve, reject) => {
  23. common_vendor.index.request({
  24. method: config2.method || "get",
  25. url: config2.baseUrl || baseUrl + config2.url,
  26. data: config2.data,
  27. header: config2.header,
  28. dataType: "json"
  29. }).then((response) => {
  30. console.log(config2.url + "==============", response);
  31. const {
  32. data
  33. } = response;
  34. saveLogs(config2.url, config2.data, data.data);
  35. const code = data.code || 404;
  36. const msg = utils_errorCode.errorCode[code] || data.msg || utils_errorCode.errorCode["default"];
  37. if (code === 501) {
  38. let pages = getCurrentPages();
  39. let currentPage = pages[pages.length - 1].route;
  40. if (currentPage != "pages/login") {
  41. utils_common.toast("登录状态已过期,请重新登陆!");
  42. reject("无效的会话,或者会话已过期,请重新登录。");
  43. stores_user.useUserStore().LogOut().then((res) => {
  44. common_vendor.index.reLaunch({
  45. url: "/pages/login"
  46. });
  47. });
  48. }
  49. } else if (code === 500) {
  50. utils_common.toast(msg.substr(0, 50));
  51. reject(msg);
  52. } else if (code !== 200) {
  53. utils_common.toast(msg);
  54. reject(code);
  55. } else if (code === 404) {
  56. utils_common.toast("请求超时");
  57. reject(code);
  58. }
  59. resolve(data.data);
  60. }).catch((error) => {
  61. console.log("err", error);
  62. saveLogs(config2.url, config2.data, error);
  63. common_vendor.index.hideLoading();
  64. let {
  65. message
  66. } = error;
  67. if (message === "Network Error") {
  68. message = "网络连接超时";
  69. } else if (message.includes("timeout")) {
  70. message = "网络连接超时";
  71. } else if (message.includes("Request failed with status code")) {
  72. message = "系统接口" + message.substr(message.length - 3) + "异常";
  73. }
  74. utils_common.toast(message);
  75. reject(error);
  76. });
  77. });
  78. };
  79. function saveLogs(url, params, res) {
  80. let arr = [];
  81. let obj = {
  82. url,
  83. time: common_vendor.index.$u.timeFormat(new Date(), "yyyy-mm-dd hh:MM:ss"),
  84. params: JSON.stringify(params) || "无",
  85. res: JSON.stringify(res).substr(0, 1e3)
  86. };
  87. if (common_vendor.index.getStorageSync("logs")) {
  88. let arr2 = JSON.parse(common_vendor.index.getStorageSync("logs"));
  89. arr2.unshift(obj);
  90. if (arr2.length > 30) {
  91. arr2.pop();
  92. }
  93. common_vendor.index.setStorageSync("logs", JSON.stringify(arr2));
  94. } else {
  95. arr.unshift(obj);
  96. common_vendor.index.setStorageSync("logs", JSON.stringify(arr));
  97. }
  98. }
  99. exports.request = request;