@be-link/http 1.2.0 → 1.2.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"TaroAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/TaroAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,qBAAa,WAAY,YAAW,WAAW;IAC7C,iBAAiB;IACjB,OAAO,CAAC,OAAO,CAAS;IAExB,YAAY;IACZ,OAAO,CAAC,cAAc,CAAyB;IAE/C,iBAAiB;IACjB,OAAO,CAAC,OAAO,CAAS;IAExB,wBAAwB;IACxB,OAAO,CAAC,WAAW,CAAsB;IAEzC;;;;OAIG;gBACS,MAAM,EAAE,iBAAiB;IAUrC;;;;;OAKG;IACU,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAqBxF;;;;;;;;OAQG;IACH,OAAO,CAAC,UAAU;CAyBnB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,mBAAmB,GAAG,aAAa,CAa/E"}
1
+ {"version":3,"file":"TaroAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/TaroAdapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB;;;;GAIG;AACH,qBAAa,WAAY,YAAW,WAAW;IAC7C,iBAAiB;IACjB,OAAO,CAAC,OAAO,CAAS;IAExB,YAAY;IACZ,OAAO,CAAC,cAAc,CAAyB;IAE/C,iBAAiB;IACjB,OAAO,CAAC,OAAO,CAAS;IAExB,wBAAwB;IACxB,OAAO,CAAC,WAAW,CAAsB;IAEzC;;;;OAIG;gBACS,MAAM,EAAE,iBAAiB;IAUrC;;;;;OAKG;IACU,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAqBxF;;;;;;;;OAQG;IACH,OAAO,CAAC,UAAU;CAyBnB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,mBAAmB,GAAG,aAAa,CAiB/E"}
package/dist/index.cjs.js CHANGED
@@ -26,7 +26,7 @@ class AxiosAdapter {
26
26
  constructor(config) {
27
27
  this.instance = axios.create({
28
28
  baseURL: config.baseURL,
29
- timeout: config.timeout || 30000,
29
+ timeout: config.timeout || 100000,
30
30
  headers: {
31
31
  'Content-Type': 'application/json',
32
32
  ...(config.headers || {}),
@@ -170,9 +170,12 @@ class TaroAdapter {
170
170
  */
171
171
  function createTaroFetch(taroRequest) {
172
172
  return async (url, options) => {
173
+ const method = (options?.method?.toUpperCase() || 'GET');
173
174
  const res = await taroRequest({
174
175
  url,
175
- method: (options?.method?.toUpperCase() || 'GET'),
176
+ method,
177
+ // POST 请求需要传递 data,避免 "Body cannot be empty" 错误
178
+ data: method === 'POST' ? {} : undefined,
176
179
  });
177
180
  return {
178
181
  ok: res.statusCode >= 200 && res.statusCode < 300,
@@ -230,7 +233,19 @@ async function processRequest(config, options, timeSyncService, encryptionServic
230
233
  config.headers[userIdHeaderName] = userId;
231
234
  }
232
235
  }
233
- // 步骤 4: 添加 Token
236
+ // 步骤 4: 添加自定义请求头
237
+ // 调用用户配置的 getCustomHeaders 函数获取自定义请求头
238
+ if (options.getCustomHeaders) {
239
+ const customHeaders = options.getCustomHeaders();
240
+ if (customHeaders) {
241
+ for (const [key, value] of Object.entries(customHeaders)) {
242
+ if (value != null) {
243
+ config.headers[key] = value;
244
+ }
245
+ }
246
+ }
247
+ }
248
+ // 步骤 5: 添加 Token
234
249
  // 根据是否配置了加密服务,决定是否对 Token 进行加密
235
250
  if (options.getToken) {
236
251
  const token = options.getToken();
@@ -335,11 +350,20 @@ const STORAGE_KEYS = {
335
350
  CLIENT_TIME: 'belink_client_time',
336
351
  };
337
352
  /**
338
- * 检测是否为浏览器环境
353
+ * 检测是否为浏览器环境(支持 localStorage)
339
354
  */
340
355
  function isBrowser() {
341
356
  return typeof window !== 'undefined' && typeof localStorage !== 'undefined';
342
357
  }
358
+ /**
359
+ * 检测当前运行环境是否具备时间同步能力
360
+ *
361
+ * 浏览器、React Native 等只要存在可用的 fetch 都应该允许发起同步请求,
362
+ * 不应仅因非浏览器环境而直接跳过时间同步。
363
+ */
364
+ function canSyncTime(fetchFnProvided) {
365
+ return fetchFnProvided || typeof fetch === 'function';
366
+ }
343
367
  /**
344
368
  * 获取带前缀的存储 key
345
369
  */
@@ -416,6 +440,8 @@ class TimeSyncService {
416
440
  syncGapTime: 50 * 1000, // 默认 50 秒
417
441
  ...config,
418
442
  };
443
+ // 记录是否使用了自定义 fetchFn
444
+ this.hasCustomFetch = !!fetchFn;
419
445
  // 使用传入的 fetchFn 或默认的 fetch
420
446
  this.fetchFn = fetchFn || this.defaultFetch.bind(this);
421
447
  }
@@ -443,7 +469,13 @@ class TimeSyncService {
443
469
  * - 避免多个并发请求同时触发多次时间同步
444
470
  */
445
471
  async ensureSync() {
446
- if (!this.config.enabled || !isBrowser()) {
472
+ // 检查是否启用
473
+ if (!this.config.enabled) {
474
+ return;
475
+ }
476
+ // 只要存在可用的 fetch,就允许执行时间同步。
477
+ // React Native 虽然不是浏览器环境,但同样具备全局 fetch。
478
+ if (!canSyncTime(this.hasCustomFetch)) {
447
479
  return;
448
480
  }
449
481
  // 如果已有同步请求正在进行,等待它完成
@@ -473,7 +505,12 @@ class TimeSyncService {
473
505
  * - 同步完成后清除锁,允许后续同步请求
474
506
  */
475
507
  async sync() {
476
- if (!isBrowser() || !this.config.syncUrl) {
508
+ // 检查 syncUrl 是否配置
509
+ if (!this.config.syncUrl) {
510
+ return;
511
+ }
512
+ // 只要存在可用的 fetch,就允许执行时间同步。
513
+ if (!canSyncTime(this.hasCustomFetch)) {
477
514
  return;
478
515
  }
479
516
  // 如果已有同步请求正在进行,等待它完成
package/dist/index.esm.js CHANGED
@@ -22,7 +22,7 @@ class AxiosAdapter {
22
22
  constructor(config) {
23
23
  this.instance = axios.create({
24
24
  baseURL: config.baseURL,
25
- timeout: config.timeout || 30000,
25
+ timeout: config.timeout || 100000,
26
26
  headers: {
27
27
  'Content-Type': 'application/json',
28
28
  ...(config.headers || {}),
@@ -166,9 +166,12 @@ class TaroAdapter {
166
166
  */
167
167
  function createTaroFetch(taroRequest) {
168
168
  return async (url, options) => {
169
+ const method = (options?.method?.toUpperCase() || 'GET');
169
170
  const res = await taroRequest({
170
171
  url,
171
- method: (options?.method?.toUpperCase() || 'GET'),
172
+ method,
173
+ // POST 请求需要传递 data,避免 "Body cannot be empty" 错误
174
+ data: method === 'POST' ? {} : undefined,
172
175
  });
173
176
  return {
174
177
  ok: res.statusCode >= 200 && res.statusCode < 300,
@@ -226,7 +229,19 @@ async function processRequest(config, options, timeSyncService, encryptionServic
226
229
  config.headers[userIdHeaderName] = userId;
227
230
  }
228
231
  }
229
- // 步骤 4: 添加 Token
232
+ // 步骤 4: 添加自定义请求头
233
+ // 调用用户配置的 getCustomHeaders 函数获取自定义请求头
234
+ if (options.getCustomHeaders) {
235
+ const customHeaders = options.getCustomHeaders();
236
+ if (customHeaders) {
237
+ for (const [key, value] of Object.entries(customHeaders)) {
238
+ if (value != null) {
239
+ config.headers[key] = value;
240
+ }
241
+ }
242
+ }
243
+ }
244
+ // 步骤 5: 添加 Token
230
245
  // 根据是否配置了加密服务,决定是否对 Token 进行加密
231
246
  if (options.getToken) {
232
247
  const token = options.getToken();
@@ -331,11 +346,20 @@ const STORAGE_KEYS = {
331
346
  CLIENT_TIME: 'belink_client_time',
332
347
  };
333
348
  /**
334
- * 检测是否为浏览器环境
349
+ * 检测是否为浏览器环境(支持 localStorage)
335
350
  */
336
351
  function isBrowser() {
337
352
  return typeof window !== 'undefined' && typeof localStorage !== 'undefined';
338
353
  }
354
+ /**
355
+ * 检测当前运行环境是否具备时间同步能力
356
+ *
357
+ * 浏览器、React Native 等只要存在可用的 fetch 都应该允许发起同步请求,
358
+ * 不应仅因非浏览器环境而直接跳过时间同步。
359
+ */
360
+ function canSyncTime(fetchFnProvided) {
361
+ return fetchFnProvided || typeof fetch === 'function';
362
+ }
339
363
  /**
340
364
  * 获取带前缀的存储 key
341
365
  */
@@ -412,6 +436,8 @@ class TimeSyncService {
412
436
  syncGapTime: 50 * 1000, // 默认 50 秒
413
437
  ...config,
414
438
  };
439
+ // 记录是否使用了自定义 fetchFn
440
+ this.hasCustomFetch = !!fetchFn;
415
441
  // 使用传入的 fetchFn 或默认的 fetch
416
442
  this.fetchFn = fetchFn || this.defaultFetch.bind(this);
417
443
  }
@@ -439,7 +465,13 @@ class TimeSyncService {
439
465
  * - 避免多个并发请求同时触发多次时间同步
440
466
  */
441
467
  async ensureSync() {
442
- if (!this.config.enabled || !isBrowser()) {
468
+ // 检查是否启用
469
+ if (!this.config.enabled) {
470
+ return;
471
+ }
472
+ // 只要存在可用的 fetch,就允许执行时间同步。
473
+ // React Native 虽然不是浏览器环境,但同样具备全局 fetch。
474
+ if (!canSyncTime(this.hasCustomFetch)) {
443
475
  return;
444
476
  }
445
477
  // 如果已有同步请求正在进行,等待它完成
@@ -469,7 +501,12 @@ class TimeSyncService {
469
501
  * - 同步完成后清除锁,允许后续同步请求
470
502
  */
471
503
  async sync() {
472
- if (!isBrowser() || !this.config.syncUrl) {
504
+ // 检查 syncUrl 是否配置
505
+ if (!this.config.syncUrl) {
506
+ return;
507
+ }
508
+ // 只要存在可用的 fetch,就允许执行时间同步。
509
+ if (!canSyncTime(this.hasCustomFetch)) {
473
510
  return;
474
511
  }
475
512
  // 如果已有同步请求正在进行,等待它完成
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/interceptors/core.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAA6B,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,EACxC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAC3C,OAAO,CAAC,oBAAoB,CAAC,CAuC/B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,CAAC,CAQtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,GAAG,KAAK,CAyBvE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAmBjE"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/interceptors/core.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EAA6B,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAEnE;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,oBAAoB,EAC5B,OAAO,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,EACxC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAC3C,OAAO,CAAC,oBAAoB,CAAC,CAoD/B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,CAAC,CAQtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,GAAG,KAAK,CAyBvE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAmBjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/interceptors/request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAA8B,MAAM,OAAO,CAAC;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,EACxC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAC3C,IAAI,CA4CN"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/interceptors/request.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,aAAa,EAA8B,MAAM,OAAO,CAAC;AAEvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,EACxC,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAC3C,IAAI,CAyDN"}
@@ -67,6 +67,11 @@ export declare class TimeSyncService implements ITimeSyncService {
67
67
  * 用于支持 Taro 等非浏览器环境
68
68
  */
69
69
  private fetchFn;
70
+ /**
71
+ * 是否使用了自定义的 fetch 函数
72
+ * 用于判断是否跳过浏览器环境检测
73
+ */
74
+ private hasCustomFetch;
70
75
  /**
71
76
  * 创建时间同步服务实例
72
77
  *
@@ -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;;;;;;;;;;;;;;;OAeG;gBACS,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,aAAa;IAW3D;;;OAGG;YACW,YAAY;IAgB1B;;;;;;;;;;OAUG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBxC;;;;;;;;;OASG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBlC;;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/dist/types.d.ts CHANGED
@@ -141,6 +141,20 @@ export interface RequestOptions {
141
141
  * @default 'X-BeLink-UserId'
142
142
  */
143
143
  userIdHeaderName?: string;
144
+ /**
145
+ * 获取自定义请求头的函数
146
+ * 每次请求时调用,返回需要添加的自定义请求头
147
+ * 可用于添加角色ID、租户ID等动态请求头
148
+ *
149
+ * @example
150
+ * ```ts
151
+ * getCustomHeaders: () => ({
152
+ * 'x-belink-pandora-roleid': localStorage.getItem('roleId'),
153
+ * 'x-tenant-id': localStorage.getItem('tenantId'),
154
+ * })
155
+ * ```
156
+ */
157
+ getCustomHeaders?: () => Record<string, string | null | undefined>;
144
158
  /**
145
159
  * 自定义请求拦截器
146
160
  * 在请求发出前调用,可以修改请求配置
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@be-link/http",
3
- "version": "1.2.0",
3
+ "version": "1.2.2",
4
4
  "description": "共比邻 HTTP 请求库,提供简洁的 HTTP 请求封装,支持时间同步和 Token 加密",
5
5
  "homepage": "https://github.com/snowmountain-top/be-link#readme",
6
6
  "author": "zhuifeng <yangyiboys@163.com>",