@seayoo-web/request 0.6.0 → 0.6.1
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/README.md +17 -18
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
## 特性
|
|
13
13
|
|
|
14
14
|
1. 默认基于 fetch,请求和响应均 基于 json 或 text(不支持其他格式)
|
|
15
|
-
2. 支持重试配置
|
|
15
|
+
2. 支持重试配置 maxRetry / retryResolve / retryInterval
|
|
16
16
|
3. 支持响应结果处理策略 responseRule 和通用提示配置
|
|
17
17
|
4. 支持类型守卫 typeGuard
|
|
18
18
|
5. 支持多实例,多端(浏览器,nodejs,并可以扩展小程序)
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
## 示例
|
|
24
24
|
|
|
25
25
|
```js
|
|
26
|
-
|
|
26
|
+
import { get } from "@seayoo-web/request"
|
|
27
27
|
|
|
28
28
|
interface IUser {
|
|
29
29
|
name: string,
|
|
@@ -45,14 +45,13 @@ export async function getUserList(): Promise<IUser[]> {
|
|
|
45
45
|
|
|
46
46
|
```js
|
|
47
47
|
// 浏览器环境
|
|
48
|
-
|
|
48
|
+
import { setGlobalConfig } from "@seayoo-web/request"
|
|
49
49
|
// nodejs 环境
|
|
50
|
-
|
|
50
|
+
import { setGlobalConfig } from "@seayoo-web/request/node"
|
|
51
51
|
|
|
52
52
|
// 以下是默认的全局配置(更多介绍请参考下方全局配置)
|
|
53
53
|
setGlobalConfig({
|
|
54
54
|
// api 基础路径,默认根目录,通常可以设置为 /api
|
|
55
|
-
// nodejs 环境下此配置无效
|
|
56
55
|
baseURL: "",
|
|
57
56
|
// 响应解析规则
|
|
58
57
|
responseRule: {
|
|
@@ -69,31 +68,31 @@ setGlobalConfig({
|
|
|
69
68
|
|
|
70
69
|
```js
|
|
71
70
|
// 以下为浏览器环境全局默认导出的工具函数
|
|
72
|
-
|
|
71
|
+
import { get, post, put, patch, del, head } from "@seayoo-web/request"
|
|
73
72
|
|
|
74
73
|
// 以下是 nodejs 环境全局默认导出的工具函数
|
|
75
|
-
|
|
74
|
+
import { get, post, put, patch, del, head } from "@seayoo-web/request/node"
|
|
76
75
|
|
|
77
76
|
// 浏览器环境自定义创建实例
|
|
78
|
-
|
|
77
|
+
import { NetRequest } from "@seayoo-web/request"
|
|
79
78
|
const { get, post, put, patch, del, setConfig } = NetRequest()
|
|
80
79
|
|
|
81
80
|
// nodejs环境自定义创建实例
|
|
82
|
-
|
|
81
|
+
import { NetRequest } from "@seayoo-web/request/node"
|
|
83
82
|
const { get, post, put, patch, del, setConfig } = NetRequest()
|
|
84
83
|
```
|
|
85
84
|
|
|
86
85
|
## 全局配置参数
|
|
87
86
|
|
|
88
87
|
```js
|
|
89
|
-
|
|
88
|
+
import { setGlobalConfig } from "@seayoo-web/request"
|
|
90
89
|
// 全局配置字段说明见下,所有字段均可选
|
|
91
|
-
// 全局配置仅仅影响全局导出函数,比如 get, post
|
|
90
|
+
// 全局配置仅仅影响全局导出函数,比如 get, post 等,对于自定义实例没有影响
|
|
92
91
|
setGlobalConfig({ baseURL: "/api" })
|
|
93
92
|
|
|
94
93
|
// 自定义实例全局配置是独立的
|
|
95
|
-
|
|
96
|
-
//
|
|
94
|
+
import { NetRequest } from "@seayoo-web/request"
|
|
95
|
+
// 可以创建时传递
|
|
97
96
|
const { get, post, setConfig } = NetRequest({ baseURL: "/api" })
|
|
98
97
|
// 也可以随时修改
|
|
99
98
|
setConfig({ timeout: 5000 })
|
|
@@ -150,11 +149,11 @@ setConfig({ timeout: 5000 })
|
|
|
150
149
|
|
|
151
150
|
**resolve**: "json" | "body" | "auto"
|
|
152
151
|
|
|
153
|
-
|
|
152
|
+
解析方式,设置为 json(默认),则可以进一步指定错误消息字段;设置为 body 则将整个 body 解析为错误信息;设置为 auto 则尝试上述两种策略;
|
|
154
153
|
|
|
155
154
|
**messageField**: string
|
|
156
155
|
|
|
157
|
-
错误消息解析字段,仅在 resolve 为 json
|
|
156
|
+
错误消息解析字段,仅在 resolve 为 json 或 auto 时有效,默认值 message
|
|
158
157
|
|
|
159
158
|
- **OKRule**: { resolve, statusField?, statusOKValue?, dataField?, messageField?, ignoreMessage? }
|
|
160
159
|
|
|
@@ -162,7 +161,7 @@ setConfig({ timeout: 5000 })
|
|
|
162
161
|
|
|
163
162
|
**resolve**: "json" | "body"
|
|
164
163
|
|
|
165
|
-
|
|
164
|
+
解析方式,若设置为 json,则可以进一步指定更多字段;若设置为 body(默认),则把整个响应体作为接口返回的数据使用,如果格式化失败,则返回响应的字符串;
|
|
166
165
|
|
|
167
166
|
**statusField**: string
|
|
168
167
|
|
|
@@ -198,7 +197,7 @@ setConfig({ timeout: 5000 })
|
|
|
198
197
|
|
|
199
198
|
类型:number | ((retryIndex: number) => number)
|
|
200
199
|
|
|
201
|
-
说明:两次重试的间隔策略,设置为数字(单位 ms
|
|
200
|
+
说明:两次重试的间隔策略,设置为数字(单位 ms)表示固定间隔,设置为函数则可以自定义间隔;其中 retryIndex 从 1 开始,最大为 10;最小时间间隔为 100ms;
|
|
202
201
|
|
|
203
202
|
### headerHandler
|
|
204
203
|
|
|
@@ -222,7 +221,7 @@ setConfig({ timeout: 5000 })
|
|
|
222
221
|
|
|
223
222
|
类型:null | ((data: IRequestLog) => void)
|
|
224
223
|
|
|
225
|
-
|
|
224
|
+
说明:全局日志打印函数,目前仅仅输出请求开始和完成的日志,具体日志信息可参考 types 声明;
|
|
226
225
|
|
|
227
226
|
## 网络请求参数
|
|
228
227
|
|