Skip to content

Commit d714ed2

Browse files
committed
feat: 支持具名导入工具函数
1 parent a374647 commit d714ed2

23 files changed

+409
-279
lines changed

docs/pages/advanced/adapter.md

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ axios.defaults.adapter = (config) => {
124124
// 状态码
125125
status: response.statusCode,
126126

127-
// 状态文本
127+
// 状态文本,选填,不传默认 'OK'
128128
statusText: 'OK',
129129

130130
// 响应头
@@ -139,16 +139,17 @@ axios.defaults.adapter = (config) => {
139139
},
140140
fail: (error) => {
141141
config.fail({
142-
// 状态码
142+
// 状态码,选填,不传默认 400
143143
status: 400,
144144

145-
// 状态文本
145+
// 状态文本,选填,不传默认 'Fail Adapter'
146146
statusText: 'Fail Adapter',
147147

148-
// 响应头
148+
// 响应头,选填,不传默认 {}
149149
headers: {},
150150

151151
// 响应数据
152+
// 平台 api 错误 error 通常是一个包含 errMsg 属性的对象
152153
data: error,
153154
});
154155
},
@@ -172,28 +173,29 @@ axios.defaults.adapter = (config) => {
172173
// 状态码
173174
status: response.statusCode,
174175

175-
// 状态文本
176+
// 状态文本,选填,不传默认 'OK'
176177
statusText: 'OK',
177178

178179
// 响应头
179-
headers: response.header ?? {},
180+
headers: response.header,
180181

181182
// 响应数据
182183
data: response.data,
183184
});
184185
},
185186
fail: (error) => {
186187
config.fail({
187-
// 状态码
188+
// 状态码,选填,不传默认 400
188189
status: 400,
189190

190-
// 状态文本
191+
// 状态文本,选填,不传默认 'Fail Adapter'
191192
statusText: 'Fail Adapter',
192193

193-
// 响应头
194+
// 响应头,选填,不传默认 {}
194195
headers: {},
195196

196197
// 响应数据
198+
// 平台 api 错误 error 通常是一个包含 errMsg 属性的对象
197199
data: error,
198200
});
199201
},
@@ -210,7 +212,7 @@ axios.defaults.adapter = (config) => {
210212
// 状态码
211213
status: response.statusCode,
212214

213-
// 状态文本
215+
// 状态文本,选填,不传默认 'OK'
214216
statusText: 'OK',
215217

216218
// 响应头
@@ -225,16 +227,17 @@ axios.defaults.adapter = (config) => {
225227
},
226228
fail: (error) => {
227229
config.fail({
228-
// 状态码
230+
// 状态码,选填,不传默认 400
229231
status: 400,
230232

231-
// 状态文本
233+
// 状态文本,选填,不传默认 'Fail Adapter'
232234
statusText: 'Fail Adapter',
233235

234-
// 响应头
236+
// 响应头,选填,不传默认 {}
235237
headers: {},
236238

237239
// 响应数据
240+
// 平台 api 错误 error 通常是一个包含 errMsg 属性的对象
238241
data: error,
239242
});
240243
},

docs/pages/basics/defaults.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ title: 默认配置
1818
{
1919
// 适配器,在支持的平台中有值。
2020
// 对于不支持平台而言,此值始终为 undefined,需要您手动适配。
21-
adapter: getAdapterDefault(),
21+
adapter: getDefaultAdapter(),
2222

2323
// 请求头
2424
headers: {

docs/pages/guide/quick-start.md

Lines changed: 60 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ $ pnpm install -D axios-miniprogram
2424

2525
原生小程序也可以直接[下载源码包](https://github.com/zjx0905/axios-miniprogram/releases),但是这样是失去类型提示和 `sourceMap` 定位功能。
2626

27-
在条件允许的情况下建议优先使用包管理工具安装的方式,而不是使用下载源码包的方式。
27+
建议在条件允许的情况下优先使用包管理工具安装的方式,而不是使用下载源码包的方式。
2828

2929
## 引用
3030

@@ -46,6 +46,65 @@ axios('test');
4646

4747
## 使用
4848

49+
### 引用
50+
51+
可以导入需要使用的功能。
52+
53+
```ts
54+
import axios, {
55+
// 取消令牌
56+
CancelToken,
57+
58+
// 判断取消请求错误
59+
isCancel,
60+
61+
// 原始 Axios 类
62+
Axios,
63+
64+
// 判断请求响应错误
65+
isAxiosError,
66+
67+
// 创建平台适配器
68+
createAdapter,
69+
} from 'axios-miniprogram';
70+
```
71+
72+
axios 上也有同样的功能。
73+
74+
```ts
75+
import axios from 'axios-miniprogram';
76+
77+
// axios 同样也有这些功能
78+
const {
79+
// 取消令牌
80+
CancelToken,
81+
82+
// 判断取消请求错误
83+
isCancel,
84+
85+
// 原始 Axios 类
86+
Axios,
87+
88+
// 判断请求响应错误
89+
isAxiosError,
90+
91+
// 创建平台适配器
92+
createAdapter,
93+
} = axios;
94+
```
95+
96+
axios 上还有一些额外的功能。
97+
98+
```ts
99+
const {
100+
// 创建实例
101+
create,
102+
103+
// 获取已处理的 URL
104+
getUri,
105+
} = axios;
106+
```
107+
49108
### `axios(url, config?)`
50109

51110
可以通过把 `url``config` 传递给 `axios` 来发送请求。
@@ -119,10 +178,3 @@ axios({
119178
- [axios.delete(url, params?, config?)](/method/DELETE)
120179
- [axios.trace(url, config?)](/method/TRACE)
121180
- [axios.connect(url, config?)](/method/CONNECT)
122-
123-
还提供了一系列工具方法。
124-
125-
- `axios.create(defaults?)` 创建新的 `axios` 实例
126-
- `axios.createAdapter(platform)` 创建平台适配器
127-
- `axios.isCancel(error)` 判断异常是否来自取消请求
128-
- `axios.isAxiosError(error)` 判断异常是否来自请求响应

rollup.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ function buildConfig(format: ModuleFormat | 'dts'): RollupOptions {
2626
file: resolveOutput(format, isDts),
2727
format: isDts ? 'es' : format,
2828
name: pkg.name,
29-
exports: 'default',
29+
exports: 'named',
3030
indent: false,
3131
sourcemap: isDts ? false : sourceMap,
3232
};

scripts/docs.deploy.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@ import { exec } from './utils';
44
main();
55

66
function main() {
7-
exec('pnpm docs:build');
8-
9-
console.log('');
107
consola.info('Clean');
118
const exist = exec('git branch --list docs', {
129
stdio: 'pipe',
@@ -18,9 +15,13 @@ function main() {
1815
}
1916
console.log('');
2017

21-
consola.info('Create docs\n');
18+
consola.info('Check build');
19+
exec('pnpm docs:build');
20+
console.log('');
21+
22+
consola.info('Git branch docs\n');
2223
exec('git branch docs');
2324

24-
consola.info('Push docs\n');
25+
consola.info('Git push docs\n');
2526
exec('git push origin docs -f');
2627
}

src/adapter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ export interface AxiosAdapter {
170170
(config: AxiosAdapterRequestConfig): AxiosAdapterTask;
171171
}
172172

173-
export function getAdapterDefault() {
173+
export function getDefaultAdapter() {
174174
const platform = revisePlatformApiNames(getPlatform());
175175

176176
function getPlatform() {

src/axios.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,12 @@ function createInstance(defaults: AxiosRequestConfig) {
6565

6666
const axios = createInstance(defaults) as AxiosStatic;
6767

68-
axios.Axios = Axios;
69-
axios.CancelToken = CancelToken;
7068
axios.create = function create(defaults) {
7169
return createInstance(mergeConfig(axios.defaults, defaults));
7270
};
71+
72+
axios.Axios = Axios;
73+
axios.CancelToken = CancelToken;
7374
axios.createAdapter = createAdapter;
7475
axios.isCancel = isCancel;
7576
axios.isAxiosError = isAxiosError;

src/core/Axios.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ import {
66
AxiosAdapter,
77
AxiosAdapterRequestMethod,
88
AxiosAdapterTask,
9-
AxiosAdapterResponse,
109
AxiosAdapterRequestConfig,
11-
AxiosAdapterResponseError,
1210
AxiosAdapterResponseData,
1311
} from '../adapter';
1412
import InterceptorManager, { Interceptor } from './InterceptorManager';

0 commit comments

Comments
 (0)