@base-web-kits/base-tools-web 1.0.2-alpha.5 → 1.0.2-alpha.6
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/base-tools-web.umd.global.js.map +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/network/index.d.ts +0 -1
- package/dist/network/index.d.ts.map +1 -1
- package/dist/network/request.d.ts +75 -2
- package/dist/network/request.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/web/network/index.ts +0 -1
- package/src/web/network/request.ts +115 -9
- package/src/web/network/request.d.ts +0 -114
package/dist/network/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web/network/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/web/network/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
|
|
@@ -1,5 +1,78 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
1
|
+
/** 请求方法类型 */
|
|
2
|
+
export type RequestMethod = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'CONNECT' | 'HEAD' | 'OPTIONS' | 'TRACE' | 'PATCH';
|
|
3
|
+
/**
|
|
4
|
+
* 请求参数类型
|
|
5
|
+
* 包含 fetch 原生支持的 BodyInit 类型,以及支持自动 JSON 序列化的对象和数组
|
|
6
|
+
*/
|
|
7
|
+
export type RequestData = string | ArrayBuffer | ArrayBufferView | Blob | FormData | URLSearchParams | ReadableStream<Uint8Array> | Record<string, unknown> | unknown[] | null;
|
|
8
|
+
/**
|
|
9
|
+
* 响应数据类型
|
|
10
|
+
*/
|
|
11
|
+
export type ResponseData = string | ArrayBuffer | Blob | Record<string, unknown> | unknown[] | null;
|
|
12
|
+
/**
|
|
13
|
+
* 发起请求的配置 (对外,参数可选)
|
|
14
|
+
*/
|
|
15
|
+
export type RequestConfig<D extends RequestData = RequestData> = Partial<RequestConfigBase<D>>;
|
|
16
|
+
/**
|
|
17
|
+
* 自定义请求的配置 (接口字段参数必填)
|
|
18
|
+
*/
|
|
19
|
+
export type RequestConfigBase<D extends RequestData = RequestData> = {
|
|
20
|
+
/** 接口地址 */
|
|
21
|
+
url: string;
|
|
22
|
+
/** 请求方法 */
|
|
23
|
+
method?: RequestMethod;
|
|
24
|
+
/** 请求头 */
|
|
25
|
+
header?: Record<string, string>;
|
|
26
|
+
/** 请求参数 */
|
|
27
|
+
data?: D;
|
|
28
|
+
/** 超时时间 (毫秒), 默认 60000 */
|
|
29
|
+
timeout?: number;
|
|
30
|
+
/** 接口返回响应数据的字段, 支持"a[0].b.c"的格式, 当配置false时返回完整的响应数据 */
|
|
31
|
+
resKey: string | false;
|
|
32
|
+
/** 接口返回响应消息的字段, 支持"a[0].b.c"的格式 */
|
|
33
|
+
msgKey: string;
|
|
34
|
+
/** 接口返回响应状态码的字段, 支持"a[0].b.c"的格式 */
|
|
35
|
+
codeKey: string;
|
|
36
|
+
/** 接口返回成功状态码的字段, 支持"a[0].b.c"的格式 (默认取 codeKey) */
|
|
37
|
+
successKey?: string;
|
|
38
|
+
/** 成功状态码 */
|
|
39
|
+
successCode: (number | string)[];
|
|
40
|
+
/** 登录过期状态码 */
|
|
41
|
+
reloginCode: (number | string)[];
|
|
42
|
+
/** 是否显示进度条 (默认true) */
|
|
43
|
+
showLoading?: boolean;
|
|
44
|
+
/** 是否提示接口异常 (默认true) */
|
|
45
|
+
toastError?: boolean;
|
|
46
|
+
/** 是否输出日志 (默认true) */
|
|
47
|
+
isLog?: boolean;
|
|
48
|
+
/** 额外输出的日志数据 */
|
|
49
|
+
extraLog?: Record<string, unknown>;
|
|
50
|
+
/** 响应数据的缓存时间, 单位毫秒。仅在成功时缓存;仅缓存在内存,应用退出,缓存消失。(默认0,不开启缓存) */
|
|
51
|
+
cacheTime?: number;
|
|
52
|
+
/** 是否开启流式传输 (如 SSE) */
|
|
53
|
+
enableChunked?: boolean;
|
|
54
|
+
/** 响应类型 (默认 json, enableChunked为true时忽略) */
|
|
55
|
+
responseType?: 'text' | 'arraybuffer' | 'json';
|
|
56
|
+
/** 响应拦截 */
|
|
57
|
+
responseInterceptor?: (data: ResponseData) => ResponseData;
|
|
58
|
+
};
|
|
59
|
+
/**
|
|
60
|
+
* 请求任务对象 (用于取消请求或监听流式数据)
|
|
61
|
+
*/
|
|
62
|
+
export interface RequestTask {
|
|
63
|
+
/** 取消请求 */
|
|
64
|
+
abort: () => void;
|
|
65
|
+
/** 监听流式数据块接收事件 */
|
|
66
|
+
onChunkReceived: (callback: ChunkCallback) => void;
|
|
67
|
+
/** 取消监听流式数据块接收事件 */
|
|
68
|
+
offChunkReceived: () => void;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 流式数据块接收事件回调
|
|
72
|
+
*/
|
|
73
|
+
export type ChunkCallback = (response: {
|
|
74
|
+
data: ArrayBuffer;
|
|
75
|
+
}) => void;
|
|
3
76
|
/**
|
|
4
77
|
* 基础请求 (返回 Promise 和 Task 对象)
|
|
5
78
|
* 基于 fetch API 封装,支持流式请求
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/web/network/request.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../../src/web/network/request.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/web/network/index.ts
CHANGED
|
@@ -8,15 +8,121 @@ import {
|
|
|
8
8
|
} from '../../ts';
|
|
9
9
|
import { getAppConfig } from '../config';
|
|
10
10
|
import type { AppLogInfo } from '../config';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
|
|
12
|
+
/** 请求方法类型 */
|
|
13
|
+
export type RequestMethod =
|
|
14
|
+
| 'GET'
|
|
15
|
+
| 'POST'
|
|
16
|
+
| 'PUT'
|
|
17
|
+
| 'DELETE'
|
|
18
|
+
| 'CONNECT'
|
|
19
|
+
| 'HEAD'
|
|
20
|
+
| 'OPTIONS'
|
|
21
|
+
| 'TRACE'
|
|
22
|
+
| 'PATCH';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* 请求参数类型
|
|
26
|
+
* 包含 fetch 原生支持的 BodyInit 类型,以及支持自动 JSON 序列化的对象和数组
|
|
27
|
+
*/
|
|
28
|
+
export type RequestData =
|
|
29
|
+
| string
|
|
30
|
+
| ArrayBuffer
|
|
31
|
+
| ArrayBufferView
|
|
32
|
+
| Blob
|
|
33
|
+
| FormData
|
|
34
|
+
| URLSearchParams
|
|
35
|
+
| ReadableStream<Uint8Array>
|
|
36
|
+
| Record<string, unknown>
|
|
37
|
+
| unknown[]
|
|
38
|
+
| null;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* 响应数据类型
|
|
42
|
+
*/
|
|
43
|
+
export type ResponseData = string | ArrayBuffer | Blob | Record<string, unknown> | unknown[] | null;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* 发起请求的配置 (对外,参数可选)
|
|
47
|
+
*/
|
|
48
|
+
export type RequestConfig<D extends RequestData = RequestData> = Partial<RequestConfigBase<D>>;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* 自定义请求的配置 (接口字段参数必填)
|
|
52
|
+
*/
|
|
53
|
+
export type RequestConfigBase<D extends RequestData = RequestData> = {
|
|
54
|
+
/** 接口地址 */
|
|
55
|
+
url: string;
|
|
56
|
+
/** 请求方法 */
|
|
57
|
+
method?: RequestMethod;
|
|
58
|
+
/** 请求头 */
|
|
59
|
+
header?: Record<string, string>;
|
|
60
|
+
/** 请求参数 */
|
|
61
|
+
data?: D;
|
|
62
|
+
/** 超时时间 (毫秒), 默认 60000 */
|
|
63
|
+
timeout?: number;
|
|
64
|
+
|
|
65
|
+
/** 接口返回响应数据的字段, 支持"a[0].b.c"的格式, 当配置false时返回完整的响应数据 */
|
|
66
|
+
resKey: string | false;
|
|
67
|
+
|
|
68
|
+
/** 接口返回响应消息的字段, 支持"a[0].b.c"的格式 */
|
|
69
|
+
msgKey: string;
|
|
70
|
+
|
|
71
|
+
/** 接口返回响应状态码的字段, 支持"a[0].b.c"的格式 */
|
|
72
|
+
codeKey: string;
|
|
73
|
+
|
|
74
|
+
/** 接口返回成功状态码的字段, 支持"a[0].b.c"的格式 (默认取 codeKey) */
|
|
75
|
+
successKey?: string;
|
|
76
|
+
|
|
77
|
+
/** 成功状态码 */
|
|
78
|
+
successCode: (number | string)[];
|
|
79
|
+
|
|
80
|
+
/** 登录过期状态码 */
|
|
81
|
+
reloginCode: (number | string)[];
|
|
82
|
+
|
|
83
|
+
/** 是否显示进度条 (默认true) */
|
|
84
|
+
showLoading?: boolean;
|
|
85
|
+
|
|
86
|
+
/** 是否提示接口异常 (默认true) */
|
|
87
|
+
toastError?: boolean;
|
|
88
|
+
|
|
89
|
+
/** 是否输出日志 (默认true) */
|
|
90
|
+
isLog?: boolean;
|
|
91
|
+
|
|
92
|
+
/** 额外输出的日志数据 */
|
|
93
|
+
extraLog?: Record<string, unknown>;
|
|
94
|
+
|
|
95
|
+
/** 响应数据的缓存时间, 单位毫秒。仅在成功时缓存;仅缓存在内存,应用退出,缓存消失。(默认0,不开启缓存) */
|
|
96
|
+
cacheTime?: number;
|
|
97
|
+
|
|
98
|
+
/** 是否开启流式传输 (如 SSE) */
|
|
99
|
+
enableChunked?: boolean;
|
|
100
|
+
|
|
101
|
+
/** 响应类型 (默认 json, enableChunked为true时忽略) */
|
|
102
|
+
responseType?: 'text' | 'arraybuffer' | 'json';
|
|
103
|
+
|
|
104
|
+
/** 响应拦截 */
|
|
105
|
+
responseInterceptor?: (data: ResponseData) => ResponseData;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* 请求任务对象 (用于取消请求或监听流式数据)
|
|
110
|
+
*/
|
|
111
|
+
export interface RequestTask {
|
|
112
|
+
/** 取消请求 */
|
|
113
|
+
abort: () => void;
|
|
114
|
+
|
|
115
|
+
/** 监听流式数据块接收事件 */
|
|
116
|
+
onChunkReceived: (callback: ChunkCallback) => void;
|
|
117
|
+
|
|
118
|
+
/** 取消监听流式数据块接收事件 */
|
|
119
|
+
offChunkReceived: () => void;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* 流式数据块接收事件回调
|
|
124
|
+
*/
|
|
125
|
+
export type ChunkCallback = (response: { data: ArrayBuffer }) => void;
|
|
20
126
|
|
|
21
127
|
/** 请求缓存 */
|
|
22
128
|
const requestCache = new Map<string, { res: unknown; expire: number }>();
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/** 请求方法类型 */
|
|
2
|
-
export type RequestMethod =
|
|
3
|
-
| 'GET'
|
|
4
|
-
| 'POST'
|
|
5
|
-
| 'PUT'
|
|
6
|
-
| 'DELETE'
|
|
7
|
-
| 'CONNECT'
|
|
8
|
-
| 'HEAD'
|
|
9
|
-
| 'OPTIONS'
|
|
10
|
-
| 'TRACE'
|
|
11
|
-
| 'PATCH';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* 请求参数类型
|
|
15
|
-
* 包含 fetch 原生支持的 BodyInit 类型,以及支持自动 JSON 序列化的对象和数组
|
|
16
|
-
*/
|
|
17
|
-
export type RequestData =
|
|
18
|
-
| string
|
|
19
|
-
| ArrayBuffer
|
|
20
|
-
| ArrayBufferView
|
|
21
|
-
| Blob
|
|
22
|
-
| FormData
|
|
23
|
-
| URLSearchParams
|
|
24
|
-
| ReadableStream<Uint8Array>
|
|
25
|
-
| Record<string, unknown>
|
|
26
|
-
| unknown[]
|
|
27
|
-
| null;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* 响应数据类型
|
|
31
|
-
*/
|
|
32
|
-
export type ResponseData = string | ArrayBuffer | Blob | Record<string, unknown> | unknown[] | null;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* 发起请求的配置 (对外,参数可选)
|
|
36
|
-
*/
|
|
37
|
-
export type RequestConfig<D extends RequestData = RequestData> = Partial<RequestConfigBase<D>>;
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* 自定义请求的配置 (接口字段参数必填)
|
|
41
|
-
*/
|
|
42
|
-
export type RequestConfigBase<D extends RequestData = RequestData> = {
|
|
43
|
-
/** 接口地址 */
|
|
44
|
-
url: string;
|
|
45
|
-
/** 请求方法 */
|
|
46
|
-
method?: RequestMethod;
|
|
47
|
-
/** 请求头 */
|
|
48
|
-
header?: Record<string, string>;
|
|
49
|
-
/** 请求参数 */
|
|
50
|
-
data?: D;
|
|
51
|
-
/** 超时时间 (毫秒), 默认 60000 */
|
|
52
|
-
timeout?: number;
|
|
53
|
-
|
|
54
|
-
/** 接口返回响应数据的字段, 支持"a[0].b.c"的格式, 当配置false时返回完整的响应数据 */
|
|
55
|
-
resKey: string | false;
|
|
56
|
-
|
|
57
|
-
/** 接口返回响应消息的字段, 支持"a[0].b.c"的格式 */
|
|
58
|
-
msgKey: string;
|
|
59
|
-
|
|
60
|
-
/** 接口返回响应状态码的字段, 支持"a[0].b.c"的格式 */
|
|
61
|
-
codeKey: string;
|
|
62
|
-
|
|
63
|
-
/** 接口返回成功状态码的字段, 支持"a[0].b.c"的格式 (默认取 codeKey) */
|
|
64
|
-
successKey?: string;
|
|
65
|
-
|
|
66
|
-
/** 成功状态码 */
|
|
67
|
-
successCode: (number | string)[];
|
|
68
|
-
|
|
69
|
-
/** 登录过期状态码 */
|
|
70
|
-
reloginCode: (number | string)[];
|
|
71
|
-
|
|
72
|
-
/** 是否显示进度条 (默认true) */
|
|
73
|
-
showLoading?: boolean;
|
|
74
|
-
|
|
75
|
-
/** 是否提示接口异常 (默认true) */
|
|
76
|
-
toastError?: boolean;
|
|
77
|
-
|
|
78
|
-
/** 是否输出日志 (默认true) */
|
|
79
|
-
isLog?: boolean;
|
|
80
|
-
|
|
81
|
-
/** 额外输出的日志数据 */
|
|
82
|
-
extraLog?: Record<string, unknown>;
|
|
83
|
-
|
|
84
|
-
/** 响应数据的缓存时间, 单位毫秒。仅在成功时缓存;仅缓存在内存,应用退出,缓存消失。(默认0,不开启缓存) */
|
|
85
|
-
cacheTime?: number;
|
|
86
|
-
|
|
87
|
-
/** 是否开启流式传输 (如 SSE) */
|
|
88
|
-
enableChunked?: boolean;
|
|
89
|
-
|
|
90
|
-
/** 响应类型 (默认 json, enableChunked为true时忽略) */
|
|
91
|
-
responseType?: 'text' | 'arraybuffer' | 'json';
|
|
92
|
-
|
|
93
|
-
/** 响应拦截 */
|
|
94
|
-
responseInterceptor?: (data: ResponseData) => ResponseData;
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* 请求任务对象 (用于取消请求或监听流式数据)
|
|
99
|
-
*/
|
|
100
|
-
export interface RequestTask {
|
|
101
|
-
/** 取消请求 */
|
|
102
|
-
abort: () => void;
|
|
103
|
-
|
|
104
|
-
/** 监听流式数据块接收事件 */
|
|
105
|
-
onChunkReceived: (callback: ChunkCallback) => void;
|
|
106
|
-
|
|
107
|
-
/** 取消监听流式数据块接收事件 */
|
|
108
|
-
offChunkReceived: () => void;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* 流式数据块接收事件回调
|
|
113
|
-
*/
|
|
114
|
-
export type ChunkCallback = (response: { data: ArrayBuffer }) => void;
|