efront 3.33.1 → 3.33.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,12 +14,12 @@ var assert = function (result, expect, log = dump) {
14
14
  if (k === undefined) return function () {
15
15
  var color1 = "bgred";
16
16
  var color2 = "bgblue";
17
- mark.setTag1(` </${color1}>`, `<${color1}>`);
18
- mark.setTag2(` </${color2}>`, `<${color2}>`);
17
+ mark.setTag1(`</${color1}>`, `<${color1}>`);
18
+ mark.setTag2(`</${color2}>`, `<${color2}>`);
19
19
  var [r, e] = mark.pair(result, expect);
20
- r = String(r).trim();
21
- e = String(e).trim();
22
- errors = `<cyan>结果 </cyan><${color1}>${r}</${color1}>\r\n <cyan>应为 </cyan><${color2}>${e}</${color2}>\r\n`;
20
+ r = String(r).trim().replace(/><\//g, "> </");
21
+ e = String(e).trim().replace(/><\//g, "> </");
22
+ errors = `<cyan>结果 </cyan>\x07<${color1}>${r}</${color1}>\r\n <cyan>应为 </cyan><${color2}>${e}</${color2}>\r\n`;
23
23
  };
24
24
  return function (error) {
25
25
  if (error instanceof Object) {
@@ -1,4 +1,3 @@
1
- var cookiesMap = {};
2
1
  var parseCookieFromText = function (cookie) {
3
2
  var pairs = cookie.split(/;\s*/);
4
3
  var info = {};
@@ -22,7 +21,12 @@ var parseCookieFromText = function (cookie) {
22
21
  return [pair, info];
23
22
  };
24
23
 
25
- function addCookie(cookie_text, originDomain = "") {
24
+ class Cookie {
25
+ cookiesMap = {};
26
+ }
27
+ var CookieProto = Cookie.prototype;
28
+ CookieProto.addCookie = function addCookie(cookie_text, originDomain = "") {
29
+ var { cookiesMap } = this;
26
30
  originDomain = getDomainPath(originDomain);
27
31
  if (!cookie_text) return;
28
32
  if (cookie_text instanceof Array) cookie_text = cookie_text.join(",");
@@ -57,7 +61,8 @@ function addCookie(cookie_text, originDomain = "") {
57
61
  }
58
62
  }
59
63
 
60
- function getCookies(domainPath) {
64
+ CookieProto.getCookies = function getCookies(domainPath) {
65
+ var { cookiesMap } = this;
61
66
  domainPath = getDomainPath(domainPath);
62
67
  var cookieObject = {};
63
68
  var splited = domainPath.split("/");
@@ -88,7 +93,8 @@ function getCookies(domainPath) {
88
93
  return serialize(cookieObject, ";");
89
94
  }
90
95
 
91
- function delCookies(domainPath) {
96
+ CookieProto.delCookies = function delCookies(domainPath) {
97
+ var { cookiesMap } = this;
92
98
  domainPath = getDomainPath(domainPath);
93
99
  var splited = domainPath.split("/");
94
100
  var domain = splited[0];
@@ -100,7 +106,8 @@ function getDomainPath(url) {
100
106
  return host;
101
107
  }
102
108
 
103
- function linkCookie(from, to) {
109
+ CookieProto.linkCookie = function linkCookie(from, to) {
110
+ var { cookiesMap } = this;
104
111
  from = getDomainPath(from).replace(/\/$/, '');
105
112
  to = getDomainPath(to).replace(/\/$/, '');
106
113
  if (cookiesMap[from]) {
@@ -109,7 +116,8 @@ function linkCookie(from, to) {
109
116
  cookiesMap[to] = cookiesMap[from] = extend({}, cookiesMap[to], cookiesMap[from]);
110
117
  return to;
111
118
  }
112
- function copyCookie(from, to) {
119
+ CookieProto.copyCookie = function copyCookie(from, to) {
120
+ var { cookiesMap } = this;
113
121
  from = getDomainPath(from).replace(/\/$,'/, '');
114
122
  to = getDomainPath(to).replace(/\/$/, '');
115
123
  if (from in cookiesMap) {
@@ -119,12 +127,6 @@ function copyCookie(from, to) {
119
127
  delete cookiesMap[to];
120
128
  }
121
129
  }
122
-
123
- return {
124
- cookiesMap,
125
- addCookie,
126
- getCookies,
127
- delCookies,
128
- linkCookie,
129
- copyCookie
130
- }
130
+ var defaultCookie = new Cookie;
131
+ defaultCookie.new = () => new Cookie;
132
+ return defaultCookie;
@@ -1,4 +1,3 @@
1
- var { getCookies, addCookie, delCookies } = cookie;
2
1
  var { File } = this;
3
2
  function hasFile(o) {
4
3
  if (!File) return false;
@@ -43,14 +42,7 @@ var getCrossUrl = function (domain, headers, encrypt) {
43
42
  if (!encrypt) return domain;
44
43
  domain = domain.replace(domainReg, "/$3$4");
45
44
  }
46
- var originDomain = getDomainPath(domain);
47
- var _cookies = getCookies(originDomain);
48
- var _headers = {};
49
- if (_cookies) {
50
- _headers.Cookie = _cookies;
51
- }
52
- extend(_headers, headers);
53
- _headers = serialize(_headers);
45
+ var _headers = serialize(headers);
54
46
  if (_headers) _headers = "," + _headers;
55
47
  var b = encrypt ? "!" : `*`;
56
48
  var ishttps = /^(https\:|s\/\/)/i.test(domain);
@@ -137,18 +129,6 @@ function createResponse(response, status = 0) {
137
129
  function cross_(jsonp, digest = noop, method, url, headers) {
138
130
  var originDomain = getDomainPath(url);
139
131
  if (!originDomain) throw new Error("路径格式错误!");
140
- var _cookies = getCookies(originDomain);
141
- var _headers = {};
142
- if (_cookies) {
143
- _headers.Cookie = _cookies;
144
- }
145
- extend(_headers, headers);
146
- if (/^[mc]/i.test(method)) {
147
- _headers["User-Agent"] = /^m/i.test(method)
148
- ? "efront/3.25 (iPhone) Safari/602.1"
149
- : "efront/3.25 (Windows) Chrome/77.0.3865.90";
150
- method = method.slice(1);
151
- }
152
132
  var loaded, errored;
153
133
  var onload = function (data) {
154
134
  if (!~requests.indexOf(_xhr)) return;
@@ -232,7 +212,7 @@ function cross_(jsonp, digest = noop, method, url, headers) {
232
212
  onerror({ status: xhr.status, response: "Cookie解析异常!", toString: toResponse });
233
213
  return;
234
214
  }
235
- addCookie(cookie, originDomain);
215
+ cookie_.addCookie(cookie, originDomain);
236
216
  }
237
217
 
238
218
  }
@@ -385,6 +365,20 @@ function cross_(jsonp, digest = noop, method, url, headers) {
385
365
  }
386
366
  var setRequestHeader = xhr.setRequestHeader;
387
367
  var realHeaders = Object.create(null);
368
+ var cookie_ = this.hostCookie(xhr);
369
+ var _cookies = cookie_.getCookies(originDomain);
370
+ var _headers = {};
371
+ if (_cookies) {
372
+ _headers.Cookie = _cookies;
373
+ }
374
+ extend(_headers, headers);
375
+ if (/^[mc]/i.test(method)) {
376
+ _headers["User-Agent"] = /^m/i.test(method)
377
+ ? "efront/3.25 (iPhone) Safari/602.1"
378
+ : "efront/3.25 (Windows) Chrome/77.0.3865.90";
379
+ method = method.slice(1);
380
+ }
381
+
388
382
  xhr.setRequestHeader = function (key, value) {
389
383
  realHeaders[key] = value;
390
384
  };
@@ -412,12 +406,12 @@ function cross_(jsonp, digest = noop, method, url, headers) {
412
406
  };
413
407
  xhr.abort = XMLHttpRequest_abort;
414
408
  xhr.delCookies = function () {
415
- delCookies(originDomain);
409
+ cookie_.delCookies(originDomain);
416
410
  xhr.nocookie = true;
417
411
  return xhr;
418
412
  };
419
413
  xhr.getCookies = function () {
420
- return getCookies(originDomain);
414
+ return cookie_.getCookies(originDomain);
421
415
  };
422
416
  requests.push(xhr);
423
417
  var _xhr = xhr;
@@ -471,6 +465,7 @@ var bind = cross_.bind;
471
465
  cross_.bind = function () {
472
466
  var cross_ = bind.apply(this, arguments);
473
467
  arguments[0].getCode = getCode.bind(cross_);
468
+ arguments[0].hostCookie = function () { return cross_.hostCookie.apply(this, arguments) };
474
469
  extend(cross_, {
475
470
  requests,
476
471
  abortAll() {
@@ -478,8 +473,6 @@ cross_.bind = function () {
478
473
  },
479
474
  setHost,
480
475
  addReform,
481
- getCookies,
482
- addCookie,
483
476
  addDirect,
484
477
  getCrossUrl
485
478
  });
@@ -1,4 +1,4 @@
1
- return cross_.bind(function (callback, onerror) {
1
+ var cross = cross_.bind(function (callback, onerror) {
2
2
  var response, responseObject, responseType = "", decoder, error;
3
3
  var xhr = {
4
4
  status: 0,
@@ -115,4 +115,8 @@ return cross_.bind(function (callback, onerror) {
115
115
  },
116
116
  };
117
117
  return xhr;
118
- }, null, undefined);
118
+ }, null, undefined);
119
+ cross.hostCookie = function (xhr) {
120
+ if (xhr.cookie) return xhr.cookie;
121
+ return xhr.cookie = cookie.new();
122
+ };
@@ -56,4 +56,16 @@ cross.setHost = function (host) {
56
56
  host = (/^https/.test(location_href) ? "https://" : "http://") + host;
57
57
  cross_.setHost(host);
58
58
  };
59
+ cross.hostCookie = function () {
60
+ return cookie;
61
+ };
62
+ cross.getCookies = function (dp) {
63
+ return cookie.getCookies(dp)
64
+ };
65
+ cross.addCookie = function (cookie_text, dp) {
66
+ return cookie.addCookie(cookie_text, dp);
67
+ };
68
+ cross.delCookies = function (dp) {
69
+ return cookie.delCookies(dp);
70
+ };
59
71
  if (cross_host) cross.setHost(cross_host);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "efront",
3
- "version": "3.33.1",
3
+ "version": "3.33.3",
4
4
  "description": "简化前端开发,优化web性能",
5
5
  "main": "public/efront.js",
6
6
  "directories": {