123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- var t = require;
- var e = module;
- var i = exports;
- var a =
- (this && this.__awaiter) ||
- function (t, n, r, l) {
- return new (r = r || Promise)(function (i, e) {
- function s(t) {
- try {
- a(l.next(t));
- } catch (t) {
- e(t);
- }
- }
- function o(t) {
- try {
- a(l.throw(t));
- } catch (t) {
- e(t);
- }
- }
- function a(t) {
- var e;
- t.done
- ? i(t.value)
- : ((e = t.value) instanceof r
- ? e
- : new r(function (t) {
- t(e);
- })
- ).then(s, o);
- }
- a((l = l.apply(t, n || [])).next());
- });
- };
- Object.defineProperty(i, "__esModule", {value: !0}),
- (i.Http = void 0),
- (i.Http = class {
- constructor() {
- this.httpCache = {};
- }
- sleep(e, t) {
- return new Promise(t => {
- setTimeout(t, e);
- });
- }
- getRequestUrlTail(t) {
- const e = [];
- for (var i in t) {
- var s = t[i];
- e.push(i + "=" + encodeURIComponent(s) + "&");
- }
- e.sort();
- let o = e.join("");
- return o.substring(0, o.length - 1);
- }
- requestWithTokenAndCacheAsync(t, e, i, s = 0, o = !1, a = "GET", n, r = 1e4) {
- var l = this.httpCache[t];
- if (!o && l && Date.now() < l.reqTime + s) return l.data;
- r = this.requestWithTokenAsync(t, e, i, a, n, r);
- return s && (this.httpCache[t] = {reqTime: Date.now(), data: r}), r;
- }
- post(t, e, i = 0, s = 1e3, o = 1e4) {
- return a(this, void 0, void 0, function* () {
- do {
- try {
- return yield this.requestAsync(t, e, "POST", o);
- } catch (t) {
- cc.error(t);
- }
- } while ((s && (yield this.sleep(s)), i--));
- return null;
- });
- }
- requestAsync(a, n, r = "POST", l = 1e4, h) {
- return new Promise((i, s) => {
- var o = new XMLHttpRequest();
- (o.timeout = l),
- (o.onerror = o.ontimeout =
- () => {
- s("请求超时"), (s = null);
- }),
- (o.onreadystatechange = function () {
- var t, e;
- 4 == o.readyState &&
- ((t = 400 <= o.status || 0 == o.status), (e = o.responseText), t ? s() : i(e));
- });
- var t = this.getRequestUrlTail(n);
- if (h) for (var e in h) o.setRequestHeader(e, h[e]);
- "POST" === r
- ? (o.open(r, a, !0),
- o.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"),
- o.send(t))
- : "POST_JSON" === r
- ? (o.open("POST", a, !0),
- o.setRequestHeader("Content-Type", "application/json"),
- o.send(JSON.stringify(n)))
- : (o.open(r, t ? a + "?" + t : a, !0),
- o.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"),
- o.send());
- });
- }
- requestWithTokenAsync(s, o, a, n = "POST", r, l = 1e4) {
- return new Promise(e => {
- var t,
- i = new XMLHttpRequest();
- (i.timeout = l),
- (i.onerror = t => {
- cc.error(t), e();
- }),
- (i.ontimeout = () => {
- Log.trace("请求超时!"), e();
- }),
- (i.onreadystatechange = function () {
- var t;
- 4 == i.readyState &&
- ((t = 400 <= i.status || 0 == i.status)
- ? (cc.error("请求错误", t), e())
- : ((t = r ? i.response : i.responseText), e(t)));
- }),
- r && (i.responseType = r),
- "POST" === n
- ? (i.open(n, s, !0),
- i.setRequestHeader("Access-Token", a),
- o instanceof Uint8Array
- ? (i.setRequestHeader("Content-Type", "application/octet-stream"), i.send(o.buffer))
- : (i.setRequestHeader("Content-Type", "application/json"), i.send(JSON.stringify(o))))
- : (i.open(n, s, !0),
- (t = this.getRequestUrlTail(o)),
- i.open(n, t ? s + "?" + t : s, !0),
- i.setRequestHeader("Access-Token", a),
- i.send());
- });
- }
- });
|