@tarojs/plugin-http 3.8.0-canary.0 → 4.0.0-alpha.10

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.
package/LICENSE CHANGED
@@ -154,7 +154,14 @@ See `/LICENSE` for details of the license.
154
154
 
155
155
  ==================
156
156
 
157
- MIT (stencil-vue2-output-target):
158
- The following files embed [stencil-vue2-output-target](https://github.com/diondree/stencil-vue2-output-target) MIT:
159
- `/packages/taro-components-library-vue2/src/vue-component-lib/utils.ts`
160
- See `/LICENSE` for details of the license.
157
+ MIT (weui):
158
+ The following files embed [weui](https://github.com/Tencent/weui) MIT:
159
+ `/packages/taro-components/src/components/*.scss`
160
+ See `/LICENSE.txt` for details of the license.
161
+
162
+ ==================
163
+
164
+ Apache-2.0 (intersection-observer):
165
+ The following files embed [intersection-observer](https://github.com/GoogleChromeLabs/intersection-observer) Apache-2.0:
166
+ `/packages/taro-api/src/polyfill/intersection-observer.ts`
167
+ See `/LICENSE.txt` for details of the license.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { IPluginContext } from '@tarojs/service';
2
- interface IOptions {
1
+ import type { IPluginContext } from '@tarojs/service';
2
+ export interface IOptions {
3
3
  /** 支持 document.cookie 和 http 设置 cookie (默认false) */
4
4
  enableCookie?: boolean;
5
5
  /** 禁用掉 FormData 全局对象 (默认true禁用) */
@@ -8,4 +8,4 @@ interface IOptions {
8
8
  disabledBlob?: boolean;
9
9
  }
10
10
  declare const _default: (ctx: IPluginContext, options: IOptions) => void;
11
- export { _default as default, IOptions };
11
+ export default _default;
package/dist/index.js CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var shared = require('@tarojs/shared');
6
5
  var path = require('node:path');
6
+ var shared = require('@tarojs/shared');
7
7
 
8
8
  var name = "@tarojs/plugin-http";
9
9
 
@@ -26,21 +26,21 @@ var index = (ctx, options) => {
26
26
  ((_b = options.disabledBlob) !== null && _b !== void 0 ? _b : true) && ((_d = args[0]).Blob || (_d.Blob = [runtimeAlias, 'Blob']));
27
27
  return args;
28
28
  });
29
- if (ctx.initialConfig.compiler === 'webpack4' || (shared.isObject(ctx.initialConfig.compiler) && ctx.initialConfig.compiler.type === 'webpack4')) {
30
- // taro webpack4 中, 未正确识别到 axios package.json 中的 browser 字段, 以致于打包进入了 node 相关的代码(https://github.com/axios/axios/blob/59eb99183546d822bc27e881f5dcd748daa04173/package.json#L128-L132)
31
- const inAxiosReg = /(\/|\\)(node_modules)(\/|\\)(axios)(\/|\\)/;
32
- chain.merge({
33
- externals: [
34
- (context, request, callback) => {
35
- if (inAxiosReg.test(context) && request.includes('http.js')) {
36
- // 将 http 适配器从源码里干掉 https://github.com/axios/axios/blob/59eb99183546d822bc27e881f5dcd748daa04173/lib/adapters/adapters.js#L2
37
- return callback(null, 'var undefined');
38
- }
39
- callback();
40
- }
41
- ]
42
- });
43
- }
29
+ // if (ctx.initialConfig.compiler === 'webpack4' || (isObject<boolean>(ctx.initialConfig.compiler) && ctx.initialConfig.compiler.type === 'webpack4')) {
30
+ // // taro webpack4 中, 未正确识别到 axios package.json 中的 browser 字段, 以致于打包进入了 node 相关的代码(https://github.com/axios/axios/blob/59eb99183546d822bc27e881f5dcd748daa04173/package.json#L128-L132)
31
+ // const inAxiosReg = /(\/|\\)(node_modules)(\/|\\)(axios)(\/|\\)/
32
+ // chain.merge({
33
+ // externals: [
34
+ // (context, request, callback) => {
35
+ // if (inAxiosReg.test(context) && request.includes('http.js')) {
36
+ // // 将 http 适配器从源码里干掉 https://github.com/axios/axios/blob/59eb99183546d822bc27e881f5dcd748daa04173/lib/adapters/adapters.js#L2
37
+ // return callback(null, 'var undefined')
38
+ // }
39
+ // callback()
40
+ // }
41
+ // ]
42
+ // })
43
+ // }
44
44
  }
45
45
  });
46
46
  ctx.registerMethod({
@@ -60,3 +60,4 @@ var index = (ctx, options) => {
60
60
  };
61
61
 
62
62
  exports.default = index;
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":[null],"names":["packageName","isArray","isString"],"mappings":";;;;;;;;;AAiBA,YAAe,CAAC,GAAmB,EAAE,OAAiB,KAAI;IACxD,GAAG,CAAC,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,KAAI;QACnC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,MAAM,EAAE;YACxC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;;AACxC,gBAAA,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAA,EAAA,GAAA,OAAO,CAAC,YAAY,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,KAAK,CAAA;AACrD,gBAAA,OAAO,IAAI,CAAA;AACb,aAAC,CAAC,CAAA;AAEF,YAAA,MAAM,YAAY,GAAG,CAAG,EAAAA,IAAW,eAAe,CAAA;AAClD,YAAA,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAA;;YAEzE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;;;gBAC1C,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAIxD;gBAAA,CAAC,CAAA,EAAA,GAAA,OAAO,CAAC,gBAAgB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,MAAM,CAAA,EAAA,GAAA,IAAI,CAAC,CAAC,CAAC,EAAC,QAAQ,KAAR,EAAA,CAAA,QAAQ,GAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA,CAAC,CACvF;gBAAA,CAAC,CAAA,EAAA,GAAA,OAAO,CAAC,YAAY,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAI,IAAI,MAAM,CAAA,EAAA,GAAA,IAAI,CAAC,CAAC,CAAC,EAAC,IAAI,KAAJ,EAAA,CAAA,IAAI,GAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA,CAAC,CAAA;AAE5E,gBAAA,OAAO,IAAI,CAAA;AACb,aAAC,CAAC,CAAA;;;;;;;;;;;;;;;;SAiBH;AACH,KAAC,CAAC,CAAA;IAEF,GAAG,CAAC,cAAc,CAAC;AACjB,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,EAAE,CAAE,QAA0B,EAAA;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,MAAM,EAAE;AACxC,gBAAA,MAAM,YAAY,GAAG,CAAQ,KAAA,EAAAA,IAAW,eAAe,CAAA;AACvD,gBAAA,IAAIC,cAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;AACjC,oBAAA,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;iBACxC;AAAM,qBAAA,IAAIC,eAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;oBACzC,QAAQ,CAAC,WAAW,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,CAAC,CAAA;iBAC5D;aACF;SACF;AACF,KAAA,CAAC,CAAA;AACJ,CAAC;;;;"}
@@ -0,0 +1,47 @@
1
+ export declare class Cookie {
2
+ #private;
3
+ constructor();
4
+ static parse(cookieStr: string): {
5
+ key: string;
6
+ value: string;
7
+ path: string | null;
8
+ domain: string | null;
9
+ expires: number | null;
10
+ maxAge: number | null;
11
+ secure: boolean;
12
+ httpOnly: boolean;
13
+ } | null;
14
+ /**
15
+ * 判断 domain
16
+ */
17
+ $_checkDomain(host: any, cookieDomain: any): boolean;
18
+ /**
19
+ * 判断 path
20
+ */
21
+ $_checkPath(path: any, cookiePath: any): boolean;
22
+ /**
23
+ * 判断过期
24
+ */
25
+ $_checkExpires(cookie: any): boolean;
26
+ /**
27
+ * 设置 cookie
28
+ */
29
+ setCookie(cookie: any, url: any): void;
30
+ /**
31
+ * 拉取 cookie
32
+ */
33
+ getCookie(url: string, includeHttpOnly?: boolean): string;
34
+ /**
35
+ * 序列化
36
+ */
37
+ serialize(): string;
38
+ /**
39
+ * 反序列化
40
+ */
41
+ deserialize(str: any): void;
42
+ }
43
+ /**
44
+ * 创建 cookie 实例并反序列化
45
+ * @returns
46
+ */
47
+ export declare function createCookieInstance(): Cookie;
@@ -1,64 +1,19 @@
1
- import { document, Events, TaroEvent } from '@tarojs/runtime';
2
- declare class Cookie {
3
- #private;
4
- constructor();
5
- static parse(cookieStr: string): {
6
- key: string;
7
- value: string;
8
- path: string | null;
9
- domain: string | null;
10
- expires: number | null;
11
- maxAge: number | null;
12
- secure: boolean;
13
- httpOnly: boolean;
14
- } | null;
15
- /**
16
- * 判断 domain
17
- */
18
- $_checkDomain(host: any, cookieDomain: any): boolean;
19
- /**
20
- * 判断 path
21
- */
22
- $_checkPath(path: any, cookiePath: any): boolean;
23
- /**
24
- * 判断过期
25
- */
26
- $_checkExpires(cookie: any): boolean;
27
- /**
28
- * 设置 cookie
29
- */
30
- setCookie(cookie: any, url: any): void;
31
- /**
32
- * 拉取 cookie
33
- */
34
- getCookie(url: string, includeHttpOnly?: boolean): string;
35
- /**
36
- * 序列化
37
- */
38
- serialize(): string;
39
- /**
40
- * 反序列化
41
- */
42
- deserialize(str: any): void;
43
- }
44
- interface XMLHttpRequestEvent extends TaroEvent {
1
+ import { Events, TaroEvent } from '@tarojs/runtime';
2
+ export interface XMLHttpRequestEvent extends TaroEvent {
45
3
  target: XMLHttpRequest;
46
4
  currentTarget: XMLHttpRequest;
47
5
  loaded: number;
48
6
  total: number;
49
7
  }
50
- // https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest
51
- declare class XMLHttpRequest extends Events {
8
+ export declare class XMLHttpRequest extends Events {
52
9
  #private;
53
10
  static readonly UNSENT = 0;
54
11
  static readonly OPENED = 1;
55
12
  static readonly HEADERS_RECEIVED = 2;
56
13
  static readonly LOADING = 3;
57
14
  static readonly DONE = 4;
58
- // 欺骗一些库让其认为是原生的xhr
59
15
  static toString(): string;
60
16
  toString(): string;
61
- // 事件
62
17
  /** 当 request 被停止时触发,例如当程序调用 XMLHttpRequest.abort() 时 */
63
18
  onabort: ((e: XMLHttpRequestEvent) => void) | null;
64
19
  /** 当 request 遭遇错误时触发 */
@@ -97,4 +52,3 @@ declare class XMLHttpRequest extends Events {
97
52
  setRequestHeader(header: any, value: any): void;
98
53
  send(data: any): void;
99
54
  }
100
- export { Cookie, document, XMLHttpRequest, XMLHttpRequestEvent };
@@ -0,0 +1,4 @@
1
+ import { document } from '@tarojs/runtime';
2
+ import { Cookie } from './Cookie';
3
+ import { type XMLHttpRequestEvent, XMLHttpRequest } from './XMLHttpRequest';
4
+ export { Cookie, document, XMLHttpRequest, XMLHttpRequestEvent };
package/dist/runtime.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { parseUrl, Events, createEvent, window, document } from '@tarojs/runtime';
2
2
  export { document } from '@tarojs/runtime';
3
- import { isString, isFunction, isWebPlatform } from '@tarojs/shared';
4
3
  import { setStorage, getStorageSync, request } from '@tarojs/taro';
4
+ import { isString, isFunction } from '@tarojs/shared';
5
5
 
6
6
  /******************************************************************************
7
7
  Copyright (c) Microsoft Corporation.
@@ -17,7 +17,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
17
17
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
18
18
  PERFORMANCE OF THIS SOFTWARE.
19
19
  ***************************************************************************** */
20
- /* global Reflect, Promise */
20
+ /* global Reflect, Promise, SuppressedError, Symbol */
21
21
 
22
22
 
23
23
  function __classPrivateFieldGet(receiver, state, kind, f) {
@@ -31,7 +31,12 @@ function __classPrivateFieldSet(receiver, state, value, kind, f) {
31
31
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
32
32
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
33
33
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
34
- }
34
+ }
35
+
36
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
37
+ var e = new Error(message);
38
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
39
+ };
35
40
 
36
41
  var _Cookie_map;
37
42
  const STORAGE_KEY = 'PAGE_COOKIE';
@@ -309,7 +314,7 @@ function createCookieInstance() {
309
314
  return cookieInstance;
310
315
  }
311
316
 
312
- var _XMLHttpRequest_instances, _XMLHttpRequest_method, _XMLHttpRequest_url, _XMLHttpRequest_data, _XMLHttpRequest_status, _XMLHttpRequest_statusText, _XMLHttpRequest_readyState, _XMLHttpRequest_header, _XMLHttpRequest_responseType, _XMLHttpRequest_resHeader, _XMLHttpRequest_response, _XMLHttpRequest_timeout, _XMLHttpRequest_withCredentials, _XMLHttpRequest_requestTask, _XMLHttpRequest_callReadyStateChange, _XMLHttpRequest_callRequest, _XMLHttpRequest_requestSuccess, _XMLHttpRequest_requestFail, _XMLHttpRequest_requestComplete;
317
+ var _XMLHttpRequest_instances, _a, _XMLHttpRequest_method, _XMLHttpRequest_url, _XMLHttpRequest_data, _XMLHttpRequest_status, _XMLHttpRequest_statusText, _XMLHttpRequest_readyState, _XMLHttpRequest_header, _XMLHttpRequest_responseType, _XMLHttpRequest_resHeader, _XMLHttpRequest_response, _XMLHttpRequest_timeout, _XMLHttpRequest_withCredentials, _XMLHttpRequest_requestTask, _XMLHttpRequest_callReadyStateChange, _XMLHttpRequest_callRequest, _XMLHttpRequest_requestSuccess, _XMLHttpRequest_requestFail, _XMLHttpRequest_requestComplete;
313
318
  const SUPPORT_METHOD = ['OPTIONS', 'GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'TRACE', 'CONNECT'];
314
319
  const STATUS_TEXT_MAP = {
315
320
  100: 'Continue',
@@ -357,20 +362,20 @@ function createXMLHttpRequestEvent(event, target, loaded) {
357
362
  const e = createEvent(event);
358
363
  try {
359
364
  Object.defineProperties(e, {
360
- 'currentTarget': {
365
+ currentTarget: {
361
366
  enumerable: true,
362
367
  value: target
363
368
  },
364
- 'target': {
369
+ target: {
365
370
  enumerable: true,
366
371
  value: target
367
372
  },
368
- 'loaded': {
373
+ loaded: {
369
374
  enumerable: true,
370
375
  value: loaded || 0
371
376
  },
372
377
  // 读 Content-Range 字段,目前来说作用不大,先和 loaded 保持一致
373
- 'total': {
378
+ total: {
374
379
  enumerable: true,
375
380
  value: loaded || 0
376
381
  }
@@ -406,7 +411,10 @@ class XMLHttpRequest extends Events {
406
411
  _XMLHttpRequest_timeout.set(this, void 0);
407
412
  _XMLHttpRequest_withCredentials.set(this, void 0);
408
413
  _XMLHttpRequest_requestTask.set(this, void 0);
409
- // 事件
414
+ // 事件正常流转: loadstart => progress(可能多次) => load => loadend
415
+ // error 流转: loadstart => error => loadend
416
+ // abort 流转: loadstart => abort => loadend
417
+ // web在线测试: https://developer.mozilla.org/zh-CN/play
410
418
  /** 当 request 被停止时触发,例如当程序调用 XMLHttpRequest.abort() 时 */
411
419
  this.onabort = null;
412
420
  /** 当 request 遭遇错误时触发 */
@@ -426,7 +434,7 @@ class XMLHttpRequest extends Events {
426
434
  __classPrivateFieldSet(this, _XMLHttpRequest_data, null, "f");
427
435
  __classPrivateFieldSet(this, _XMLHttpRequest_status, 0, "f");
428
436
  __classPrivateFieldSet(this, _XMLHttpRequest_statusText, '', "f");
429
- __classPrivateFieldSet(this, _XMLHttpRequest_readyState, XMLHttpRequest.UNSENT, "f");
437
+ __classPrivateFieldSet(this, _XMLHttpRequest_readyState, _a.UNSENT, "f");
430
438
  __classPrivateFieldSet(this, _XMLHttpRequest_header, {
431
439
  Accept: '*/*',
432
440
  }, "f");
@@ -463,7 +471,7 @@ class XMLHttpRequest extends Events {
463
471
  return __classPrivateFieldGet(this, _XMLHttpRequest_status, "f");
464
472
  }
465
473
  get statusText() {
466
- if (__classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") === XMLHttpRequest.UNSENT || __classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") === XMLHttpRequest.OPENED)
474
+ if (__classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") === _a.UNSENT || __classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") === _a.OPENED)
467
475
  return '';
468
476
  return STATUS_TEXT_MAP[__classPrivateFieldGet(this, _XMLHttpRequest_status, "f") + ''] || __classPrivateFieldGet(this, _XMLHttpRequest_statusText, "f") || '';
469
477
  }
@@ -502,15 +510,17 @@ class XMLHttpRequest extends Events {
502
510
  }
503
511
  }
504
512
  getAllResponseHeaders() {
505
- if (__classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") === XMLHttpRequest.UNSENT || __classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") === XMLHttpRequest.OPENED || !__classPrivateFieldGet(this, _XMLHttpRequest_resHeader, "f"))
513
+ if (__classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") === _a.UNSENT || __classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") === _a.OPENED || !__classPrivateFieldGet(this, _XMLHttpRequest_resHeader, "f")) {
506
514
  return '';
515
+ }
507
516
  return Object.keys(__classPrivateFieldGet(this, _XMLHttpRequest_resHeader, "f"))
508
517
  .map((key) => `${key}: ${__classPrivateFieldGet(this, _XMLHttpRequest_resHeader, "f")[key]}`)
509
518
  .join('\r\n');
510
519
  }
511
520
  getResponseHeader(name) {
512
- if (__classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") === XMLHttpRequest.UNSENT || __classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") === XMLHttpRequest.OPENED || !__classPrivateFieldGet(this, _XMLHttpRequest_resHeader, "f"))
521
+ if (__classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") === _a.UNSENT || __classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") === _a.OPENED || !__classPrivateFieldGet(this, _XMLHttpRequest_resHeader, "f")) {
513
522
  return null;
523
+ }
514
524
  // 处理大小写不敏感
515
525
  const key = Object.keys(__classPrivateFieldGet(this, _XMLHttpRequest_resHeader, "f")).find((item) => item.toLowerCase() === name.toLowerCase());
516
526
  const value = key ? __classPrivateFieldGet(this, _XMLHttpRequest_resHeader, "f")[key] : null;
@@ -525,7 +535,7 @@ class XMLHttpRequest extends Events {
525
535
  return;
526
536
  __classPrivateFieldSet(this, _XMLHttpRequest_method, method, "f");
527
537
  __classPrivateFieldSet(this, _XMLHttpRequest_url, url, "f");
528
- __classPrivateFieldGet(this, _XMLHttpRequest_instances, "m", _XMLHttpRequest_callReadyStateChange).call(this, XMLHttpRequest.OPENED);
538
+ __classPrivateFieldGet(this, _XMLHttpRequest_instances, "m", _XMLHttpRequest_callReadyStateChange).call(this, _a.OPENED);
529
539
  }
530
540
  setRequestHeader(header, value) {
531
541
  if (typeof header === 'string' && typeof value === 'string') {
@@ -533,13 +543,13 @@ class XMLHttpRequest extends Events {
533
543
  }
534
544
  }
535
545
  send(data) {
536
- if (__classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") !== XMLHttpRequest.OPENED)
546
+ if (__classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") !== _a.OPENED)
537
547
  return;
538
548
  __classPrivateFieldSet(this, _XMLHttpRequest_data, data, "f");
539
549
  __classPrivateFieldGet(this, _XMLHttpRequest_instances, "m", _XMLHttpRequest_callRequest).call(this);
540
550
  }
541
551
  }
542
- _XMLHttpRequest_method = new WeakMap(), _XMLHttpRequest_url = new WeakMap(), _XMLHttpRequest_data = new WeakMap(), _XMLHttpRequest_status = new WeakMap(), _XMLHttpRequest_statusText = new WeakMap(), _XMLHttpRequest_readyState = new WeakMap(), _XMLHttpRequest_header = new WeakMap(), _XMLHttpRequest_responseType = new WeakMap(), _XMLHttpRequest_resHeader = new WeakMap(), _XMLHttpRequest_response = new WeakMap(), _XMLHttpRequest_timeout = new WeakMap(), _XMLHttpRequest_withCredentials = new WeakMap(), _XMLHttpRequest_requestTask = new WeakMap(), _XMLHttpRequest_instances = new WeakSet(), _XMLHttpRequest_callReadyStateChange = function _XMLHttpRequest_callReadyStateChange(readyState) {
552
+ _a = XMLHttpRequest, _XMLHttpRequest_method = new WeakMap(), _XMLHttpRequest_url = new WeakMap(), _XMLHttpRequest_data = new WeakMap(), _XMLHttpRequest_status = new WeakMap(), _XMLHttpRequest_statusText = new WeakMap(), _XMLHttpRequest_readyState = new WeakMap(), _XMLHttpRequest_header = new WeakMap(), _XMLHttpRequest_responseType = new WeakMap(), _XMLHttpRequest_resHeader = new WeakMap(), _XMLHttpRequest_response = new WeakMap(), _XMLHttpRequest_timeout = new WeakMap(), _XMLHttpRequest_withCredentials = new WeakMap(), _XMLHttpRequest_requestTask = new WeakMap(), _XMLHttpRequest_instances = new WeakSet(), _XMLHttpRequest_callReadyStateChange = function _XMLHttpRequest_callReadyStateChange(readyState) {
543
553
  const hasChange = readyState !== __classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f");
544
554
  __classPrivateFieldSet(this, _XMLHttpRequest_readyState, readyState, "f");
545
555
  if (hasChange) {
@@ -554,11 +564,11 @@ _XMLHttpRequest_method = new WeakMap(), _XMLHttpRequest_url = new WeakMap(), _XM
554
564
  }
555
565
  if (__classPrivateFieldGet(this, _XMLHttpRequest_timeout, "f")) {
556
566
  setTimeout(() => {
557
- if (!__classPrivateFieldGet(this, _XMLHttpRequest_status, "f") && __classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") !== XMLHttpRequest.DONE) {
567
+ if (!__classPrivateFieldGet(this, _XMLHttpRequest_status, "f") && __classPrivateFieldGet(this, _XMLHttpRequest_readyState, "f") !== _a.DONE) {
558
568
  // 超时
559
569
  if (__classPrivateFieldGet(this, _XMLHttpRequest_requestTask, "f"))
560
570
  __classPrivateFieldGet(this, _XMLHttpRequest_requestTask, "f").abort();
561
- __classPrivateFieldGet(this, _XMLHttpRequest_instances, "m", _XMLHttpRequest_callReadyStateChange).call(this, XMLHttpRequest.DONE);
571
+ __classPrivateFieldGet(this, _XMLHttpRequest_instances, "m", _XMLHttpRequest_callReadyStateChange).call(this, _a.DONE);
562
572
  const timeoutEvent = createXMLHttpRequestEvent('timeout', this, 0);
563
573
  this.trigger('timeout', timeoutEvent);
564
574
  isFunction(this.ontimeout) && this.ontimeout(timeoutEvent);
@@ -568,7 +578,7 @@ _XMLHttpRequest_method = new WeakMap(), _XMLHttpRequest_url = new WeakMap(), _XM
568
578
  // 重置各种状态
569
579
  __classPrivateFieldSet(this, _XMLHttpRequest_status, 0, "f");
570
580
  __classPrivateFieldSet(this, _XMLHttpRequest_statusText, '', "f");
571
- __classPrivateFieldSet(this, _XMLHttpRequest_readyState, XMLHttpRequest.OPENED, "f");
581
+ __classPrivateFieldSet(this, _XMLHttpRequest_readyState, _a.OPENED, "f");
572
582
  __classPrivateFieldSet(this, _XMLHttpRequest_resHeader, null, "f");
573
583
  __classPrivateFieldSet(this, _XMLHttpRequest_response, null, "f");
574
584
  // 补完 url
@@ -577,6 +587,7 @@ _XMLHttpRequest_method = new WeakMap(), _XMLHttpRequest_url = new WeakMap(), _XM
577
587
  // 头信息
578
588
  const header = Object.assign({}, __classPrivateFieldGet(this, _XMLHttpRequest_header, "f"));
579
589
  // https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Cookies
590
+ // @ts-ignore
580
591
  header.cookie = window.document.$$cookie;
581
592
  if (!this.withCredentials) {
582
593
  // 不同源,要求 withCredentials 为 true 才携带 cookie
@@ -603,10 +614,10 @@ _XMLHttpRequest_method = new WeakMap(), _XMLHttpRequest_url = new WeakMap(), _XM
603
614
  }
604
615
  __classPrivateFieldSet(this, _XMLHttpRequest_status, statusCode, "f");
605
616
  __classPrivateFieldSet(this, _XMLHttpRequest_resHeader, header, "f");
606
- __classPrivateFieldGet(this, _XMLHttpRequest_instances, "m", _XMLHttpRequest_callReadyStateChange).call(this, XMLHttpRequest.HEADERS_RECEIVED);
617
+ __classPrivateFieldGet(this, _XMLHttpRequest_instances, "m", _XMLHttpRequest_callReadyStateChange).call(this, _a.HEADERS_RECEIVED);
607
618
  if (ENABLE_COOKIE) {
608
619
  // 处理 set-cookie
609
- const setCookieStr = header['Set-Cookie'];
620
+ const setCookieStr = this.getResponseHeader('set-cookie');
610
621
  if (setCookieStr && typeof setCookieStr === 'string') {
611
622
  let start = 0;
612
623
  let startSplit = 0;
@@ -633,26 +644,50 @@ _XMLHttpRequest_method = new WeakMap(), _XMLHttpRequest_url = new WeakMap(), _XM
633
644
  }
634
645
  // 处理返回数据
635
646
  if (data) {
636
- __classPrivateFieldGet(this, _XMLHttpRequest_instances, "m", _XMLHttpRequest_callReadyStateChange).call(this, XMLHttpRequest.LOADING);
637
- const loadstartEvent = createXMLHttpRequestEvent('loadstart', this, header['Content-Length']);
647
+ __classPrivateFieldGet(this, _XMLHttpRequest_instances, "m", _XMLHttpRequest_callReadyStateChange).call(this, _a.LOADING);
648
+ const contentLength = Number(this.getResponseHeader('content-length') || 0);
649
+ const loadstartEvent = createXMLHttpRequestEvent('loadstart', this, contentLength);
638
650
  this.trigger('loadstart', loadstartEvent);
639
651
  isFunction(this.onloadstart) && this.onloadstart(loadstartEvent);
640
652
  __classPrivateFieldSet(this, _XMLHttpRequest_response, data, "f");
641
- const loadEvent = createXMLHttpRequestEvent('load', this, header['Content-Length']);
653
+ const loadEvent = createXMLHttpRequestEvent('load', this, contentLength);
642
654
  this.trigger('load', loadEvent);
643
655
  isFunction(this.onload) && this.onload(loadEvent);
644
656
  }
645
657
  }, _XMLHttpRequest_requestFail = function _XMLHttpRequest_requestFail(err) {
658
+ // 微信小程序,无论接口返回200还是其他,响应无论是否有错误,都会进入 success 回调;只有类似超时这种请求错误才会进入 fail 回调
659
+ //
660
+ /**
661
+ * 阿里系小程序,接口返回非200状态码,会进入 fail 回调, 此时 err 对象结构如下(当错误码为 14 或 19 时,会多返回 status、data、headers。可通过这些字段获取服务端相关错误信息):
662
+ {
663
+ data: "{\"code\": 401,\"msg\":\"登录过期,请重新登录\"}"
664
+ error: 19
665
+ errorMessage: "http status error"
666
+ headers: {date: 'Mon, 14 Aug 2023 08:54:58 GMT', content-type: 'application/json;charset=UTF-8', content-length: '52', connection: 'close', access-control-allow-credentials: 'true', …}
667
+ originalData: "{\"code\": 401,\"msg\":\"登录过期,请重新登录\"}"
668
+ status: 401
669
+ }
670
+ */
671
+ // 统一行为,能正常响应的,都算 success.
672
+ if (err.status) {
673
+ __classPrivateFieldGet(this, _XMLHttpRequest_instances, "m", _XMLHttpRequest_requestSuccess).call(this, {
674
+ data: err,
675
+ statusCode: err.status,
676
+ header: err.headers
677
+ });
678
+ return;
679
+ }
646
680
  __classPrivateFieldSet(this, _XMLHttpRequest_status, 0, "f");
647
- __classPrivateFieldSet(this, _XMLHttpRequest_statusText, err.errMsg, "f");
681
+ __classPrivateFieldSet(this, _XMLHttpRequest_statusText, err.errMsg || err.errorMessage, "f");
648
682
  const errorEvent = createXMLHttpRequestEvent('error', this, 0);
649
683
  this.trigger('error', errorEvent);
650
684
  isFunction(this.onerror) && this.onerror(errorEvent);
651
685
  }, _XMLHttpRequest_requestComplete = function _XMLHttpRequest_requestComplete() {
652
686
  __classPrivateFieldSet(this, _XMLHttpRequest_requestTask, null, "f");
653
- __classPrivateFieldGet(this, _XMLHttpRequest_instances, "m", _XMLHttpRequest_callReadyStateChange).call(this, XMLHttpRequest.DONE);
687
+ __classPrivateFieldGet(this, _XMLHttpRequest_instances, "m", _XMLHttpRequest_callReadyStateChange).call(this, _a.DONE);
654
688
  if (__classPrivateFieldGet(this, _XMLHttpRequest_status, "f")) {
655
- const loadendEvent = createXMLHttpRequestEvent('loadend', this, __classPrivateFieldGet(this, _XMLHttpRequest_header, "f")['Content-Length']);
689
+ const contentLength = Number(this.getResponseHeader('content-length') || 0);
690
+ const loadendEvent = createXMLHttpRequestEvent('loadend', this, contentLength);
656
691
  this.trigger('loadend', loadendEvent);
657
692
  isFunction(this.onloadend) && this.onloadend(loadendEvent);
658
693
  }
@@ -663,7 +698,7 @@ XMLHttpRequest.HEADERS_RECEIVED = 2;
663
698
  XMLHttpRequest.LOADING = 3;
664
699
  XMLHttpRequest.DONE = 4;
665
700
 
666
- if (!isWebPlatform()) {
701
+ if (process.env.TARO_PLATFORM !== 'web') {
667
702
  if (ENABLE_COOKIE) {
668
703
  const _cookie = createCookieInstance();
669
704
  Object.defineProperties(document, {
@@ -696,3 +731,4 @@ if (!isWebPlatform()) {
696
731
  }
697
732
 
698
733
  export { Cookie, XMLHttpRequest };
734
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sources":["../../../node_modules/.pnpm/@rollup+plugin-typescript@11.1.6_rollup@4.17.2_tslib@2.6.2_typescript@5.4.5/node_modules/tslib/tslib.es6.js","../src/runtime/Cookie.ts","../src/runtime/XMLHttpRequest.ts","../src/runtime/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n function next() {\r\n while (env.stack.length) {\r\n var rec = env.stack.pop();\r\n try {\r\n var result = rec.dispose && rec.dispose.call(rec.value);\r\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n};\r\n",null,null,null],"names":[],"mappings":"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","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,7 +1,9 @@
1
1
  {
2
2
  "name": "@tarojs/plugin-http",
3
- "version": "3.8.0-canary.0",
3
+ "version": "4.0.0-alpha.10",
4
4
  "description": "Taro 小程序端支持使用 web 请求 的插件",
5
+ "author": "O2Team",
6
+ "license": "MIT",
5
7
  "main": "index.js",
6
8
  "files": [
7
9
  "src",
@@ -16,34 +18,29 @@
16
18
  "keywords": [
17
19
  "Taro"
18
20
  ],
19
- "author": "bigmeow <https://github.com/bigmeow>",
20
- "license": "MIT",
21
21
  "bugs": {
22
22
  "url": "https://github.com/NervJS/taro/issues"
23
23
  },
24
24
  "homepage": "https://github.com/NervJS/taro#readme",
25
- "dependencies": {
26
- "@tarojs/runtime": "3.8.0-canary.0",
27
- "@tarojs/service": "3.8.0-canary.0",
28
- "@tarojs/shared": "3.8.0-canary.0"
25
+ "engines": {
26
+ "node": ">= 18"
29
27
  },
30
28
  "devDependencies": {
31
- "@rollup/plugin-json": "^4.1.0",
32
- "@rollup/plugin-node-resolve": "^15.0.1",
33
- "jest": "^29.3.1",
34
- "jest-cli": "^29.3.1",
35
- "jest-environment-node": "^29.5.0",
36
- "rollup": "^3.8.1",
37
- "rollup-plugin-node-externals": "^5.0.0",
38
- "rollup-plugin-ts": "^3.0.2",
39
- "ts-jest": "^29.0.5",
40
- "tslib": "^2.5.0",
41
- "typescript": "^4.7.4"
29
+ "@tarojs/runtime": "4.0.0-alpha.10",
30
+ "@tarojs/service": "4.0.0-alpha.10",
31
+ "@tarojs/taro": "4.0.0-alpha.10",
32
+ "@tarojs/shared": "4.0.0-alpha.10"
33
+ },
34
+ "peerDependencies": {
35
+ "@tarojs/shared": "4.0.0-alpha.10",
36
+ "@tarojs/runtime": "4.0.0-alpha.10",
37
+ "@tarojs/taro": "4.0.0-alpha.10"
42
38
  },
43
39
  "scripts": {
44
- "dev": "rollup -c -w --bundleConfigAsCjs",
45
- "build": "rollup -c --bundleConfigAsCjs",
40
+ "prod": "pnpm run build",
41
+ "dev": "rollup -c -w",
42
+ "build": "rollup -c",
46
43
  "test": "jest",
47
- "test:ci": "jest --ci -i --coverage false"
44
+ "test:ci": "jest --ci -i --coverage --silent"
48
45
  }
49
46
  }
@@ -85,5 +85,4 @@ describe('cookie', () => {
85
85
  expect(cookie.getCookie(url1)).toBe('aaa=bbb; abc=cba; ggg=hhh; kkk=lll; ooo=ppp')
86
86
  expect(cookie.getCookie(url4)).toBe('aaa=bbb; abc=cba; ggg=hhh; kkk=lll; mmm=nnn')
87
87
  })
88
-
89
88
  })
@@ -3,9 +3,8 @@ describe('DOM', () => {
3
3
  const runtime = require('../../dist/runtime')
4
4
  const document = runtime.document
5
5
  global.document = runtime.document
6
-
7
- describe('document', () => {
8
6
 
7
+ describe('document', () => {
9
8
  it('document setCookie', async () => {
10
9
  expect(document.cookie).toBe('')
11
10
  document.cookie = 'aaa=1111-2222-33-444-abcdefgasd; path=/; expires=Mon, 18 Jan 2038 19:14:07 GMT; secure;'
@@ -15,6 +14,5 @@ describe('DOM', () => {
15
14
  'aaa=1111-2222-33-444-abcdefgasd; bbb=23123-aswe-4a7a-a740-f55dfd296b1d; ccc=69asd3d81234668942'
16
15
  )
17
16
  })
18
-
19
17
  })
20
18
  })
@@ -0,0 +1,101 @@
1
+ import { window } from '@tarojs/runtime'
2
+ import { request, RequestTask } from '@tarojs/taro'
3
+
4
+ import { XMLHttpRequest, XMLHttpRequestEvent } from '../../dist/runtime'
5
+
6
+ jest.mock('@tarojs/taro', () => {
7
+ return {
8
+ request: jest.fn(),
9
+ }
10
+ })
11
+
12
+ const requestMock = jest.mocked(request)
13
+
14
+ describe('XMLHttpRequest', () => {
15
+ it('大写header key', async () => {
16
+ const data = 'success'
17
+ // 模拟实现 request 函数
18
+ requestMock.mockImplementation((opt) => {
19
+ if (opt.success) {
20
+ const header = { 'Content-Length': data.length.toString() }
21
+ opt.success({ data: data as any, header, statusCode: 200, errMsg: '' })
22
+ }
23
+ if (opt.complete) {
24
+ opt.complete({ errMsg: '' })
25
+ }
26
+ return {} as RequestTask<any>
27
+ })
28
+ // 发起请求
29
+ const xhr = new XMLHttpRequest()
30
+ xhr.open('GET', 'localhost')
31
+ const req = new Promise<XMLHttpRequestEvent>((resolve, reject) => {
32
+ xhr.addEventListener('load', resolve)
33
+ xhr.addEventListener('error', reject)
34
+ })
35
+ xhr.send('')
36
+ await req
37
+ // 检查是否能正常读取大写的header
38
+ expect(xhr.status).toBe(200)
39
+ expect(data.length).toBeGreaterThan(0)
40
+ expect(xhr.getResponseHeader('Content-length')).toBe(data.length.toString())
41
+ expect(xhr.getResponseHeader('content-length')).toBe(data.length.toString())
42
+ expect(xhr.getResponseHeader('Content-Length')).toBe(data.length.toString())
43
+ })
44
+ it('小写header key', async () => {
45
+ const data = 'success'
46
+ // 模拟实现 request 函数
47
+ requestMock.mockImplementation((opt) => {
48
+ if (opt.success) {
49
+ const header = { 'content-length': data.length.toString() }
50
+ opt.success({ data: data as any, header, statusCode: 200, errMsg: '' })
51
+ }
52
+ if (opt.complete) {
53
+ opt.complete({ errMsg: '' })
54
+ }
55
+ return {} as RequestTask<any>
56
+ })
57
+ const xhr = new XMLHttpRequest()
58
+ xhr.open('GET', 'localhost')
59
+ const req = new Promise<XMLHttpRequestEvent>((resolve, reject) => {
60
+ xhr.addEventListener('load', resolve)
61
+ xhr.addEventListener('error', reject)
62
+ })
63
+ xhr.send('')
64
+ await req
65
+ // 检查是否能成功读取小写的header
66
+ expect(xhr.status).toBe(200)
67
+ expect(xhr.responseText).toBe(data)
68
+ expect(xhr.getResponseHeader('Content-length')).toBe(data.length.toString())
69
+ expect(xhr.getResponseHeader('content-length')).toBe(data.length.toString())
70
+ expect(xhr.getResponseHeader('Content-Length')).toBe(data.length.toString())
71
+ })
72
+
73
+ it('set-cookie', async () => {
74
+ const data = 'success'
75
+ // 模拟实现 request 函数
76
+ requestMock.mockImplementation((opt) => {
77
+ if (opt.success) {
78
+ const header = { 'set-cookie': 'aaa=bbb; domain=taro.com' }
79
+ opt.success({ data: data as any, header, statusCode: 200, errMsg: '' })
80
+ }
81
+ if (opt.complete) {
82
+ opt.complete({ errMsg: '' })
83
+ }
84
+ return {} as RequestTask<any>
85
+ })
86
+ // 发送一个请求
87
+ const xhr = new XMLHttpRequest()
88
+ xhr.open('GET', 'localhost')
89
+ const req = new Promise<XMLHttpRequestEvent>((resolve, reject) => {
90
+ xhr.addEventListener('load', resolve)
91
+ xhr.addEventListener('error', reject)
92
+ })
93
+ // 在发送请求之前cookie为空
94
+ expect(window.document.cookie.length).toBe(0)
95
+ xhr.send('')
96
+ // 等待请求加载完成
97
+ await req
98
+ // 检查是否能读取set-cookie
99
+ expect(window.document.cookie.length).not.toBe(0)
100
+ })
101
+ })
package/src/index.ts CHANGED
@@ -1,5 +1,6 @@
1
+ import path from 'node:path'
2
+
1
3
  import { isArray, isObject, isString } from '@tarojs/shared'
2
- import path from 'path'
3
4
 
4
5
  import { name as packageName } from '../package.json'
5
6
 
@@ -36,21 +37,21 @@ export default (ctx: IPluginContext, options: IOptions) => {
36
37
  return args
37
38
  })
38
39
 
39
- if (ctx.initialConfig.compiler === 'webpack4' || (isObject<boolean>(ctx.initialConfig.compiler) && ctx.initialConfig.compiler.type === 'webpack4')) {
40
- // taro webpack4 中, 未正确识别到 axios package.json 中的 browser 字段, 以致于打包进入了 node 相关的代码(https://github.com/axios/axios/blob/59eb99183546d822bc27e881f5dcd748daa04173/package.json#L128-L132)
41
- const inAxiosReg = /(\/|\\)(node_modules)(\/|\\)(axios)(\/|\\)/
42
- chain.merge({
43
- externals: [
44
- (context, request, callback) => {
45
- if (inAxiosReg.test(context) && request.includes('http.js')) {
46
- // 将 http 适配器从源码里干掉 https://github.com/axios/axios/blob/59eb99183546d822bc27e881f5dcd748daa04173/lib/adapters/adapters.js#L2
47
- return callback(null, 'var undefined')
48
- }
49
- callback()
50
- }
51
- ]
52
- })
53
- }
40
+ // if (ctx.initialConfig.compiler === 'webpack4' || (isObject<boolean>(ctx.initialConfig.compiler) && ctx.initialConfig.compiler.type === 'webpack4')) {
41
+ // // taro webpack4 中, 未正确识别到 axios package.json 中的 browser 字段, 以致于打包进入了 node 相关的代码(https://github.com/axios/axios/blob/59eb99183546d822bc27e881f5dcd748daa04173/package.json#L128-L132)
42
+ // const inAxiosReg = /(\/|\\)(node_modules)(\/|\\)(axios)(\/|\\)/
43
+ // chain.merge({
44
+ // externals: [
45
+ // (context, request, callback) => {
46
+ // if (inAxiosReg.test(context) && request.includes('http.js')) {
47
+ // // 将 http 适配器从源码里干掉 https://github.com/axios/axios/blob/59eb99183546d822bc27e881f5dcd748daa04173/lib/adapters/adapters.js#L2
48
+ // return callback(null, 'var undefined')
49
+ // }
50
+ // callback()
51
+ // }
52
+ // ]
53
+ // })
54
+ // }
54
55
  }
55
56
  })
56
57
 
@@ -1,5 +1,5 @@
1
1
  /******************************************************************************
2
- Copyright (c) 2019 wechat-miniprogram.
2
+ Copyright (c) 2019 wechat-miniprogram.
3
3
  Reference and modify code by miniprogram-render/src/bom/cookie.js.
4
4
 
5
5
  Permission to use, copy, modify, and/or distribute this software for any
@@ -63,27 +63,27 @@ function createXMLHttpRequestEvent (event: string, target:XMLHttpRequest, loaded
63
63
  const e = createEvent(event) as XMLHttpRequestEvent
64
64
  try {
65
65
  Object.defineProperties(e, {
66
- 'currentTarget': {
66
+ currentTarget: {
67
67
  enumerable: true,
68
68
  value: target
69
69
  },
70
- 'target': {
70
+ target: {
71
71
  enumerable: true,
72
72
  value: target
73
73
  },
74
- 'loaded': {
74
+ loaded: {
75
75
  enumerable: true,
76
76
  value: loaded || 0
77
77
  },
78
78
  // 读 Content-Range 字段,目前来说作用不大,先和 loaded 保持一致
79
- 'total': {
79
+ total: {
80
80
  enumerable: true,
81
81
  value: loaded || 0
82
82
  }
83
83
  })
84
84
  } catch (err) {
85
85
  // no handler
86
- }
86
+ }
87
87
  return e
88
88
  }
89
89
 
@@ -118,7 +118,10 @@ export class XMLHttpRequest extends Events {
118
118
  #withCredentials: boolean
119
119
  #requestTask: null | Taro.RequestTask<any>
120
120
 
121
- // 事件
121
+ // 事件正常流转: loadstart => progress(可能多次) => load => loadend
122
+ // error 流转: loadstart => error => loadend
123
+ // abort 流转: loadstart => abort => loadend
124
+ // web在线测试: https://developer.mozilla.org/zh-CN/play
122
125
 
123
126
  /** 当 request 被停止时触发,例如当程序调用 XMLHttpRequest.abort() 时 */
124
127
  onabort: ((e: XMLHttpRequestEvent) => void) | null = null
@@ -223,6 +226,7 @@ export class XMLHttpRequest extends Events {
223
226
  // 头信息
224
227
  const header = Object.assign({}, this.#header)
225
228
  // https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Cookies
229
+ // @ts-ignore
226
230
  header.cookie = window.document.$$cookie
227
231
  if (!this.withCredentials) {
228
232
  // 不同源,要求 withCredentials 为 true 才携带 cookie
@@ -259,7 +263,7 @@ export class XMLHttpRequest extends Events {
259
263
 
260
264
  if (ENABLE_COOKIE) {
261
265
  // 处理 set-cookie
262
- const setCookieStr = header['Set-Cookie']
266
+ const setCookieStr = this.getResponseHeader('set-cookie')
263
267
 
264
268
  if (setCookieStr && typeof setCookieStr === 'string') {
265
269
  let start = 0
@@ -294,12 +298,13 @@ export class XMLHttpRequest extends Events {
294
298
  // 处理返回数据
295
299
  if (data) {
296
300
  this.#callReadyStateChange(XMLHttpRequest.LOADING)
297
- const loadstartEvent = createXMLHttpRequestEvent('loadstart', this, header['Content-Length'])
301
+ const contentLength = Number(this.getResponseHeader('content-length') || 0)
302
+ const loadstartEvent = createXMLHttpRequestEvent('loadstart', this, contentLength)
298
303
  this.trigger('loadstart', loadstartEvent)
299
304
  isFunction(this.onloadstart) && this.onloadstart(loadstartEvent)
300
305
  this.#response = data
301
306
 
302
- const loadEvent = createXMLHttpRequestEvent('load', this, header['Content-Length'])
307
+ const loadEvent = createXMLHttpRequestEvent('load', this, contentLength)
303
308
  this.trigger('load', loadEvent)
304
309
  isFunction(this.onload) && this.onload(loadEvent)
305
310
  }
@@ -309,8 +314,30 @@ export class XMLHttpRequest extends Events {
309
314
  * 请求失败
310
315
  */
311
316
  #requestFail (err) {
317
+ // 微信小程序,无论接口返回200还是其他,响应无论是否有错误,都会进入 success 回调;只有类似超时这种请求错误才会进入 fail 回调
318
+ //
319
+ /**
320
+ * 阿里系小程序,接口返回非200状态码,会进入 fail 回调, 此时 err 对象结构如下(当错误码为 14 或 19 时,会多返回 status、data、headers。可通过这些字段获取服务端相关错误信息):
321
+ {
322
+ data: "{\"code\": 401,\"msg\":\"登录过期,请重新登录\"}"
323
+ error: 19
324
+ errorMessage: "http status error"
325
+ headers: {date: 'Mon, 14 Aug 2023 08:54:58 GMT', content-type: 'application/json;charset=UTF-8', content-length: '52', connection: 'close', access-control-allow-credentials: 'true', …}
326
+ originalData: "{\"code\": 401,\"msg\":\"登录过期,请重新登录\"}"
327
+ status: 401
328
+ }
329
+ */
330
+ // 统一行为,能正常响应的,都算 success.
331
+ if (err.status) {
332
+ this.#requestSuccess({
333
+ data: err,
334
+ statusCode: err.status,
335
+ header: err.headers
336
+ })
337
+ return
338
+ }
312
339
  this.#status = 0
313
- this.#statusText = err.errMsg
340
+ this.#statusText = err.errMsg || err.errorMessage
314
341
  const errorEvent = createXMLHttpRequestEvent('error', this, 0)
315
342
  this.trigger('error', errorEvent)
316
343
  isFunction(this.onerror) && this.onerror(errorEvent)
@@ -324,7 +351,8 @@ export class XMLHttpRequest extends Events {
324
351
  this.#callReadyStateChange(XMLHttpRequest.DONE)
325
352
 
326
353
  if (this.#status) {
327
- const loadendEvent = createXMLHttpRequestEvent('loadend', this, this.#header['Content-Length'])
354
+ const contentLength = Number(this.getResponseHeader('content-length') || 0)
355
+ const loadendEvent = createXMLHttpRequestEvent('loadend', this, contentLength)
328
356
  this.trigger('loadend', loadendEvent)
329
357
  isFunction(this.onloadend) && this.onloadend(loadendEvent)
330
358
  }
@@ -397,8 +425,7 @@ export class XMLHttpRequest extends Events {
397
425
  }
398
426
 
399
427
  getAllResponseHeaders () {
400
- if (this.#readyState === XMLHttpRequest.UNSENT || this.#readyState === XMLHttpRequest.OPENED || !this.#resHeader)
401
- return ''
428
+ if (this.#readyState === XMLHttpRequest.UNSENT || this.#readyState === XMLHttpRequest.OPENED || !this.#resHeader) { return '' }
402
429
 
403
430
  return Object.keys(this.#resHeader)
404
431
  .map((key) => `${key}: ${this.#resHeader![key]}`)
@@ -406,8 +433,7 @@ export class XMLHttpRequest extends Events {
406
433
  }
407
434
 
408
435
  getResponseHeader (name) {
409
- if (this.#readyState === XMLHttpRequest.UNSENT || this.#readyState === XMLHttpRequest.OPENED || !this.#resHeader)
410
- return null
436
+ if (this.#readyState === XMLHttpRequest.UNSENT || this.#readyState === XMLHttpRequest.OPENED || !this.#resHeader) { return null }
411
437
 
412
438
  // 处理大小写不敏感
413
439
  const key = Object.keys(this.#resHeader).find((item) => item.toLowerCase() === name.toLowerCase())
@@ -1,15 +1,14 @@
1
1
  import { document, window } from '@tarojs/runtime'
2
- import { isWebPlatform } from '@tarojs/shared'
3
2
 
4
3
  import { Cookie, createCookieInstance } from './Cookie'
5
4
  import { type XMLHttpRequestEvent, XMLHttpRequest } from './XMLHttpRequest'
6
5
 
7
6
  declare const ENABLE_COOKIE: boolean
8
7
 
9
- if (!isWebPlatform()) {
8
+ if (process.env.TARO_PLATFORM !== 'web') {
10
9
  if (ENABLE_COOKIE) {
11
10
  const _cookie = createCookieInstance()
12
-
11
+
13
12
  Object.defineProperties(document, {
14
13
  URL: {
15
14
  get () {