pull/1/head
954270063@qq.com 2020-04-19 00:22:39 +08:00
parent 9a690ad73a
commit 370256a0f8
4 changed files with 14 additions and 26 deletions

View File

@ -36,15 +36,15 @@ npm i axios-miniprogram
非全平台兼容的配置只会在平台支持的情况下生效。
|参数|类型|默认值|说明|全平台兼容|
|:-|:-|:-|:-|:-|:-|
|adapter|Function||自定义适配器|是|
|:-|:-|:-|:-|:-|
|adapter|Function|[查看](https://github.com/early-autumn/axios-miniprogram/blob/master/src/helper/defaults.ts#L11)|自定义适配器|是|
|baseURL|String||基础地址|是|
|url|String||请求地址|是|
|method|String|get|请求方法||
|params|Object||请求参数|是|
|data|String/Object/ArrayBuffer||请求数据|是|
|headers|Object|[查看](https://github.com/early-autumn/axios-miniprogram/blob/master/src/helper/defaults.ts#L11)|请求头|是|
|validateStatus|Function|[查看](https://github.com/early-autumn/axios-miniprogram/blob/master/src/helper/defaults.ts#L28)|自定义合法状态码|是|
|headers|Object|[查看](https://github.com/early-autumn/axios-miniprogram/blob/master/src/helper/defaults.ts#L13)|请求头|是|
|validateStatus|Function|[查看](https://github.com/early-autumn/axios-miniprogram/blob/master/src/helper/defaults.ts#L30)|自定义合法状态码|是|
|paramsSerializer|Function||自定义参数序列化|是|
|transformRequest|Function/Array<.Function>||自定义转换请求数据|是|
|transformResponse|Function/Array<.Function>||自定义转换响应数据|是|
@ -175,6 +175,9 @@ axios.defaults.adapter = function adapter(adapterConfig) {
fail
});
}
// 如果 adapterConfig 的数据结构适用于当前平台,则可以。
axios.defaults.adapter = wx.request;
```
### `defaults`默认配置

View File

@ -1,6 +1,6 @@
{
"name": "axios-miniprogram",
"version": "1.0.1",
"version": "1.0.2",
"description": "基于 Promise 的 HTTP 请求库,适用于各大小程序平台。",
"main": "package/index.js",
"miniprogram": "package",

View File

@ -2,7 +2,7 @@
* @Author: early-autumn
* @Date: 2020-04-13 21:45:45
* @LastEditors: early-autumn
* @LastEditTime: 2020-04-18 16:12:10
* @LastEditTime: 2020-04-18 23:56:50
*/
import { AnyObject, Params } from '../types';
import { isPlainObject, isDate } from './utils';
@ -52,7 +52,7 @@ function joinURL(url: string, serializedParams: string): string {
*
* @param params
*/
function paramsSerializerDefault(params: AnyObject): string {
function paramsSerialization(params: AnyObject): string {
const parts: string[] = [];
Object.entries(params).forEach(([key, value]): void => {
@ -87,24 +87,12 @@ function paramsSerializerDefault(params: AnyObject): string {
*
* @param url
* @param params
* @param paramsSerializer
* @param paramsSerialized
*/
export default function buildURL(
url: string,
params?: Params,
paramsSerializer?: (params: AnyObject) => string
): string {
export default function buildURL(url: string, params?: Params, paramsSerializer = paramsSerialization): string {
if (params === undefined) {
return url;
}
let serializedParams = '';
if (paramsSerializer !== undefined) {
serializedParams = paramsSerializer(params);
} else {
serializedParams = paramsSerializerDefault(params);
}
return joinURL(url, serializedParams);
return joinURL(url, paramsSerializer(params));
}

View File

@ -2,13 +2,10 @@
* @Author: early-autumn
* @Date: 2020-04-14 23:22:52
* @LastEditors: early-autumn
* @LastEditTime: 2020-04-18 15:17:50
* @LastEditTime: 2020-04-18 23:47:50
*/
import axios from './axios';
/**
* typescript
*/
export * from './types';
export default axios;