@be-link/http 1.0.1-beta.7 → 1.0.1-beta.8

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/dist/index.cjs.js CHANGED
@@ -355,6 +355,15 @@ const STORAGE_KEYS = {
355
355
  function isBrowser() {
356
356
  return typeof window !== 'undefined' && typeof localStorage !== 'undefined';
357
357
  }
358
+ /**
359
+ * 检测当前运行环境是否具备时间同步能力
360
+ *
361
+ * 浏览器、React Native 等只要存在可用的 fetch 都应该允许发起同步请求,
362
+ * 不应仅因非浏览器环境而直接跳过时间同步。
363
+ */
364
+ function canSyncTime(fetchFnProvided) {
365
+ return fetchFnProvided || typeof fetch === 'function';
366
+ }
358
367
  /**
359
368
  * 获取带前缀的存储 key
360
369
  */
@@ -464,9 +473,9 @@ class TimeSyncService {
464
473
  if (!this.config.enabled) {
465
474
  return;
466
475
  }
467
- // 环境检测:如果没有自定义 fetchFn 且不是浏览器环境,跳过同步
468
- // 如果有自定义 fetchFn(如 Taro.request),则允许在任何环境执行
469
- if (!this.hasCustomFetch && !isBrowser()) {
476
+ // 只要存在可用的 fetch,就允许执行时间同步。
477
+ // React Native 虽然不是浏览器环境,但同样具备全局 fetch。
478
+ if (!canSyncTime(this.hasCustomFetch)) {
470
479
  return;
471
480
  }
472
481
  // 如果已有同步请求正在进行,等待它完成
@@ -500,8 +509,8 @@ class TimeSyncService {
500
509
  if (!this.config.syncUrl) {
501
510
  return;
502
511
  }
503
- // 环境检测:如果没有自定义 fetchFn 且不是浏览器环境,跳过同步
504
- if (!this.hasCustomFetch && !isBrowser()) {
512
+ // 只要存在可用的 fetch,就允许执行时间同步。
513
+ if (!canSyncTime(this.hasCustomFetch)) {
505
514
  return;
506
515
  }
507
516
  // 如果已有同步请求正在进行,等待它完成
package/dist/index.esm.js CHANGED
@@ -351,6 +351,15 @@ const STORAGE_KEYS = {
351
351
  function isBrowser() {
352
352
  return typeof window !== 'undefined' && typeof localStorage !== 'undefined';
353
353
  }
354
+ /**
355
+ * 检测当前运行环境是否具备时间同步能力
356
+ *
357
+ * 浏览器、React Native 等只要存在可用的 fetch 都应该允许发起同步请求,
358
+ * 不应仅因非浏览器环境而直接跳过时间同步。
359
+ */
360
+ function canSyncTime(fetchFnProvided) {
361
+ return fetchFnProvided || typeof fetch === 'function';
362
+ }
354
363
  /**
355
364
  * 获取带前缀的存储 key
356
365
  */
@@ -460,9 +469,9 @@ class TimeSyncService {
460
469
  if (!this.config.enabled) {
461
470
  return;
462
471
  }
463
- // 环境检测:如果没有自定义 fetchFn 且不是浏览器环境,跳过同步
464
- // 如果有自定义 fetchFn(如 Taro.request),则允许在任何环境执行
465
- if (!this.hasCustomFetch && !isBrowser()) {
472
+ // 只要存在可用的 fetch,就允许执行时间同步。
473
+ // React Native 虽然不是浏览器环境,但同样具备全局 fetch。
474
+ if (!canSyncTime(this.hasCustomFetch)) {
466
475
  return;
467
476
  }
468
477
  // 如果已有同步请求正在进行,等待它完成
@@ -496,8 +505,8 @@ class TimeSyncService {
496
505
  if (!this.config.syncUrl) {
497
506
  return;
498
507
  }
499
- // 环境检测:如果没有自定义 fetchFn 且不是浏览器环境,跳过同步
500
- if (!this.hasCustomFetch && !isBrowser()) {
508
+ // 只要存在可用的 fetch,就允许执行时间同步。
509
+ if (!canSyncTime(this.hasCustomFetch)) {
501
510
  return;
502
511
  }
503
512
  // 如果已有同步请求正在进行,等待它完成
@@ -1 +1 @@
1
- {"version":3,"file":"TimeSyncService.d.ts","sourceRoot":"","sources":["../../src/services/TimeSyncService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEpF;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC1B,OAAO,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;CAC1B,CAAC,CAAC;AAoCH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,WAAW;IACX,OAAO,CAAC,MAAM,CAAiB;IAE/B;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAuB;IAE7C;;;OAGG;IACH,OAAO,CAAC,mBAAmB,CAAuB;IAElD;;;OAGG;IACH,OAAO,CAAC,WAAW,CAA8B;IAEjD;;;OAGG;IACH,OAAO,CAAC,OAAO,CAAgB;IAE/B;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAU;IAEhC;;;;;;;;;;;;;;;OAeG;gBACS,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa;IAc3D;;;OAGG;YACW,YAAY;IAgB1B;;;;;;;;;;OAUG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BxC;;;;;;;;;OASG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BlC;;OAEG;YACW,MAAM;IA2CpB;;;;OAIG;IACI,aAAa,IAAI,MAAM,GAAG,IAAI;IAIrC;;;;;OAKG;IACI,WAAW,IAAI,MAAM,GAAG,IAAI;IAOnC;;;;;;;;;OASG;IACI,eAAe,IAAI,MAAM;IAUhC;;OAEG;IACI,KAAK,IAAI,IAAI;IAYpB;;OAEG;IACI,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;CAG3D"}
1
+ {"version":3,"file":"TimeSyncService.d.ts","sourceRoot":"","sources":["../../src/services/TimeSyncService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAEpF;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,KAC1B,OAAO,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;CAC1B,CAAC,CAAC;AA8CH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,WAAW;IACX,OAAO,CAAC,MAAM,CAAiB;IAE/B;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAuB;IAE7C;;;OAGG;IACH,OAAO,CAAC,mBAAmB,CAAuB;IAElD;;;OAGG;IACH,OAAO,CAAC,WAAW,CAA8B;IAEjD;;;OAGG;IACH,OAAO,CAAC,OAAO,CAAgB;IAE/B;;;OAGG;IACH,OAAO,CAAC,cAAc,CAAU;IAEhC;;;;;;;;;;;;;;;OAeG;gBACS,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa;IAc3D;;;OAGG;YACW,YAAY;IAgB1B;;;;;;;;;;OAUG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BxC;;;;;;;;;OASG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BlC;;OAEG;YACW,MAAM;IA2CpB;;;;OAIG;IACI,aAAa,IAAI,MAAM,GAAG,IAAI;IAIrC;;;;;OAKG;IACI,WAAW,IAAI,MAAM,GAAG,IAAI;IAOnC;;;;;;;;;OASG;IACI,eAAe,IAAI,MAAM;IAUhC;;OAEG;IACI,KAAK,IAAI,IAAI;IAYpB;;OAEG;IACI,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI;CAG3D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@be-link/http",
3
- "version": "1.0.1-beta.7",
3
+ "version": "1.0.1-beta.8",
4
4
  "description": "共比邻 HTTP 请求库,提供简洁的 HTTP 请求封装,支持时间同步和 Token 加密",
5
5
  "homepage": "https://github.com/snowmountain-top/be-link#readme",
6
6
  "author": "zhuifeng <yangyiboys@163.com>",