request.dev.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports["default"] = _default;
  6. var _index = _interopRequireDefault(require("../config/index.js"));
  7. var _vant = require("vant");
  8. require("vant/lib/toast/style/index");
  9. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  10. function getdata(data) {
  11. var text = "";
  12. for (var key in data) {
  13. text += key + "=" + data[key] + "&";
  14. }
  15. text ? text = "?" + text : "";
  16. text = text.replace(/&$/, "");
  17. return text;
  18. }
  19. function _default(ori) {
  20. var baseurl = _index["default"].base[ori.urlType || "defaultURl"];
  21. var url = baseurl + ori.url;
  22. _vant.Toast.loading({
  23. message: '加载中...',
  24. forbidClick: true,
  25. duration: 0
  26. });
  27. return new Promise(function (resolve, reject) {
  28. var xhttp;
  29. if (window.XMLHttpRequest) xhttp = new XMLHttpRequest();else if (window.ActiveXObject) xhttp = new window.ActiveXObject("Microsoft.XMLHTTP");
  30. var method = ori.method.toUpperCase();
  31. if (method === "GET") url += getdata(ori.data || {});
  32. xhttp.open(method, url, true);
  33. xhttp.setRequestHeader("Content-type", ori.header ? ori.header.contentType || "application/json" : "application/json");
  34. method === "GET" ? xhttp.send() : xhttp.send(JSON.stringify(ori.data));
  35. xhttp.onreadystatechange = function () {
  36. if (this.readyState != 4) return;
  37. _vant.Toast.clear();
  38. if (this.status === 404) {
  39. (0, _vant.Toast)("请求失败 " + this.status);
  40. reject(this.status);
  41. return;
  42. }
  43. if (this.status != 200) {
  44. var t = JSON.parse(this.responseText || "{}");
  45. (0, _vant.Toast)(t.message || "请求失败 " + this.status);
  46. reject(t.message);
  47. return;
  48. }
  49. var data = {};
  50. try {
  51. data = this.responseText !== "null" ? JSON.parse(this.responseText || "{}") : {};
  52. } catch (err) {
  53. (0, _vant.Toast)("请求失败");
  54. console.error(err);
  55. reject(err);
  56. }
  57. if (data.code === 0) resolve(data.data);else {
  58. (0, _vant.Toast)(data.message || "请求失败");
  59. reject(data);
  60. }
  61. };
  62. });
  63. }