@be-link/http 1.1.0 → 1.2.0

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.
@@ -0,0 +1,58 @@
1
+ /**
2
+ * 通用拦截器核心逻辑
3
+ *
4
+ * 提供与具体 HTTP 库无关的请求/响应处理函数
5
+ * 支持 Axios 和 Taro.request 适配器复用
6
+ *
7
+ * @module interceptors/core
8
+ */
9
+ import type { AdapterRequestConfig } from '../adapters/types';
10
+ import type { RequestOptions } from '../types';
11
+ import type { EncryptionService } from '../services/EncryptionService';
12
+ import type { TimeSyncService } from '../services/TimeSyncService';
13
+ /**
14
+ * 处理请求配置
15
+ *
16
+ * 在请求发出前对配置进行处理,包括:
17
+ * 1. 确保时间同步
18
+ * 2. 设置默认 Content-Type
19
+ * 3. 添加用户 ID 到请求头
20
+ * 4. 加密并添加 Token 到请求头
21
+ * 5. 调用自定义请求拦截器
22
+ *
23
+ * @param config - 请求配置
24
+ * @param options - 全局请求选项
25
+ * @param timeSyncService - 时间同步服务(可选)
26
+ * @param encryptionService - 加密服务(可选)
27
+ * @returns 处理后的请求配置
28
+ */
29
+ export declare function processRequest(config: AdapterRequestConfig, options: RequestOptions, timeSyncService?: TimeSyncService | null, encryptionService?: EncryptionService | null): Promise<AdapterRequestConfig>;
30
+ /**
31
+ * 处理响应数据
32
+ *
33
+ * 在收到响应后对数据进行处理,调用自定义响应拦截器
34
+ *
35
+ * @param data - 响应数据
36
+ * @param options - 全局请求选项
37
+ * @returns 处理后的响应数据
38
+ */
39
+ export declare function processResponse<T>(data: T, options: RequestOptions): T;
40
+ /**
41
+ * 处理错误
42
+ *
43
+ * 在请求出错时进行处理,支持自定义错误处理和业务错误检查
44
+ *
45
+ * @param error - 错误对象
46
+ * @param options - 全局请求选项
47
+ * @throws 处理后的错误
48
+ */
49
+ export declare function processError(error: any, options: RequestOptions): never;
50
+ /**
51
+ * 检查响应状态并处理业务错误
52
+ *
53
+ * @param data - 响应数据
54
+ * @param status - HTTP 状态码
55
+ * @returns 处理后的响应数据
56
+ */
57
+ export declare function checkResponseStatus<T>(data: T, status: number): T;
58
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +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"}
@@ -9,6 +9,18 @@
9
9
  * @module TimeSyncService
10
10
  */
11
11
  import type { TimeSyncConfig, TimeSyncService as ITimeSyncService } from '../types';
12
+ /**
13
+ * Fetch 函数类型
14
+ *
15
+ * 用于注入自定义的请求函数,支持 Taro 等非浏览器环境
16
+ */
17
+ export type FetchFunction = (url: string, options?: {
18
+ method?: string;
19
+ }) => Promise<{
20
+ ok: boolean;
21
+ status: number;
22
+ json: () => Promise<any>;
23
+ }>;
12
24
  /**
13
25
  * 时间同步服务
14
26
  *
@@ -50,10 +62,33 @@ export declare class TimeSyncService implements ITimeSyncService {
50
62
  * 当有同步请求正在进行时,其他请求会等待这个 Promise 完成
51
63
  */
52
64
  private syncPromise;
65
+ /**
66
+ * 自定义 fetch 函数
67
+ * 用于支持 Taro 等非浏览器环境
68
+ */
69
+ private fetchFn;
53
70
  /**
54
71
  * 创建时间同步服务实例
72
+ *
73
+ * @param config - 时间同步配置
74
+ * @param fetchFn - 自定义 fetch 函数(可选),用于支持 Taro 等非浏览器环境
75
+ *
76
+ * @example
77
+ * ```ts
78
+ * // 使用默认 fetch
79
+ * const timeSync = new TimeSyncService({ syncUrl: 'https://api.example.com/time' });
80
+ *
81
+ * // 使用 Taro.request
82
+ * import { createTaroFetch } from '@be-link/http';
83
+ * const timeSync = new TimeSyncService(config, createTaroFetch(Taro.request));
84
+ * ```
85
+ */
86
+ constructor(config: TimeSyncConfig, fetchFn?: FetchFunction);
87
+ /**
88
+ * 默认的 fetch 实现
89
+ * 使用浏览器原生 fetch API
55
90
  */
56
- constructor(config: TimeSyncConfig);
91
+ private defaultFetch;
57
92
  /**
58
93
  * 确保时间已同步
59
94
  *
@@ -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;AAoCpF;;;;;;;;;;;;;;;;;;;;;;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;;OAEG;gBACS,MAAM,EAAE,cAAc;IAQlC;;;;;;;;;;OAUG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBxC;;;;;;;;;OASG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBlC;;OAEG;YACW,MAAM;IAwCpB;;;;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;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"}
package/dist/types.d.ts CHANGED
@@ -4,6 +4,7 @@
4
4
  * 本文件定义了请求库的所有 TypeScript 类型接口
5
5
  */
6
6
  import type { AxiosInstance, InternalAxiosRequestConfig } from 'axios';
7
+ import type { TaroRequestFunction } from './adapters/types';
7
8
  /**
8
9
  * 时间同步配置
9
10
  *
@@ -161,6 +162,29 @@ export interface RequestOptions {
161
162
  * @returns 处理后的结果或抛出错误
162
163
  */
163
164
  onError?: (error: any) => any;
165
+ /**
166
+ * 请求适配器类型
167
+ * - 'axios': 使用 Axios(默认,适用于浏览器和 Node.js)
168
+ * - 'taro': 使用 Taro.request(适用于 Taro 小程序项目)
169
+ * @default 'axios'
170
+ */
171
+ adapter?: 'axios' | 'taro';
172
+ /**
173
+ * Taro.request 函数引用
174
+ * 使用 taro 适配器时必须传入
175
+ *
176
+ * @example
177
+ * ```ts
178
+ * import Taro from '@tarojs/taro';
179
+ *
180
+ * beLinkHttp.init({
181
+ * adapter: 'taro',
182
+ * taroRequest: Taro.request,
183
+ * // ...
184
+ * });
185
+ * ```
186
+ */
187
+ taroRequest?: TaroRequestFunction;
164
188
  }
165
189
  /**
166
190
  * API 响应结构
@@ -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.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "共比邻 HTTP 请求库,提供简洁的 HTTP 请求封装,支持时间同步和 Token 加密",
5
5
  "homepage": "https://github.com/snowmountain-top/be-link#readme",
6
6
  "author": "zhuifeng <yangyiboys@163.com>",