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||基础地址|是| |baseURL|String||基础地址|是|
|url|String||请求地址|是| |url|String||请求地址|是|
|method|String|get|请求方法|| |method|String|get|请求方法||
|params|Object||请求参数|是| |params|Object||请求参数|是|
|data|String/Object/ArrayBuffer||请求数据|是| |data|String/Object/ArrayBuffer||请求数据|是|
|headers|Object|[查看](https://github.com/early-autumn/axios-miniprogram/blob/master/src/helper/defaults.ts#L11)|请求头|是| |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#L28)|自定义合法状态码|是| |validateStatus|Function|[查看](https://github.com/early-autumn/axios-miniprogram/blob/master/src/helper/defaults.ts#L30)|自定义合法状态码|是|
|paramsSerializer|Function||自定义参数序列化|是| |paramsSerializer|Function||自定义参数序列化|是|
|transformRequest|Function/Array<.Function>||自定义转换请求数据|是| |transformRequest|Function/Array<.Function>||自定义转换请求数据|是|
|transformResponse|Function/Array<.Function>||自定义转换响应数据|是| |transformResponse|Function/Array<.Function>||自定义转换响应数据|是|
@ -175,6 +175,9 @@ axios.defaults.adapter = function adapter(adapterConfig) {
fail fail
}); });
} }
// 如果 adapterConfig 的数据结构适用于当前平台,则可以。
axios.defaults.adapter = wx.request;
``` ```
### `defaults`默认配置 ### `defaults`默认配置

View File

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

View File

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

View File

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