🚧 写测试 修BUG
parent
370256a0f8
commit
b1f5da385b
50
README.md
50
README.md
|
@ -38,24 +38,24 @@ npm i axios-miniprogram
|
|||
|参数|类型|默认值|说明|全平台兼容|
|
||||
|:-|:-|:-|:-|:-|
|
||||
|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||请求数据|是|
|
||||
|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#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>||自定义转换响应数据|是|
|
||||
|cancelToken|Object||取消令牌|是|
|
||||
|timeout|Number|0|超时时间||
|
||||
|paramsSerializer|Function| |自定义参数序列化|是|
|
||||
|transformRequest|Function/Array<.Function>| |自定义转换请求数据|是|
|
||||
|transformResponse|Function/Array<.Function>| |自定义转换响应数据|是|
|
||||
|cancelToken|Object| |取消令牌|是|
|
||||
|timeout|Number|0|超时时间| |
|
||||
|dataType|String|json|响应数据格式|是|
|
||||
|responseType|String|text|响应数据类型|是|
|
||||
|enableHttp2|Boolean|false|开启 http2||
|
||||
|enableQuic|Boolean|false|开启 quic||
|
||||
|enableCache|Boolean|false|开启 cache||
|
||||
|sslVerify|Boolean|true|验证 ssl 证书||
|
||||
|enableHttp2|Boolean|false|开启 http2| |
|
||||
|enableQuic|Boolean|false|开启 quic| |
|
||||
|enableCache|Boolean|false|开启 cache| |
|
||||
|sslVerify|Boolean|true|验证 ssl 证书| |
|
||||
|
||||
##### `config.method`的合法值
|
||||
|
||||
|
@ -63,14 +63,14 @@ npm i axios-miniprogram
|
|||
|
||||
|值|说明|全平台兼容|
|
||||
|:-|:-|:-|
|
||||
|OPTIONS|
|
||||
|GET||是|
|
||||
|HEAD|
|
||||
|POST||是|
|
||||
|PUT||是|
|
||||
|DELETE||是|
|
||||
|TRACE|
|
||||
|CONNECT|
|
||||
|OPTIONS| | |
|
||||
|GET| |是|
|
||||
|HEAD| | |
|
||||
|POST| |是|
|
||||
|PUT| |是|
|
||||
|DELETE| |是|
|
||||
|TRACE| | |
|
||||
|CONNECT| | |
|
||||
|
||||
##### `config.dataType`的合法值
|
||||
|
||||
|
@ -84,7 +84,7 @@ npm i axios-miniprogram
|
|||
|值|说明|全平台兼容|
|
||||
|:-|:-|:-|
|
||||
|text|响应的数据为文本|是|
|
||||
|arraybuffer|响应的数据为 ArrayBuffer|是|
|
||||
|arraybuffer|响应的数据为 ArrayBuffer|是|
|
||||
|
||||
##### `config.validateStatus`自定义合法状态码
|
||||
|
||||
|
@ -227,8 +227,8 @@ instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlenco
|
|||
|response|Object|通用响应体|是|
|
||||
|request|Object|通用请求配置|是|
|
||||
|config|Object|Axios 请求配置|是|
|
||||
|cookies|Array<.String>|开发者服务器返回的 cookies,格式为字符串数组|
|
||||
|profile|Object|网络请求过程中一些关键时间点的耗时信息|
|
||||
|cookies|Array<.String>|开发者服务器返回的 cookies,格式为字符串数组| |
|
||||
|profile|Object|网络请求过程中一些关键时间点的耗时信息| |
|
||||
|
||||
|
||||
## API
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "axios-miniprogram",
|
||||
"version": "1.0.2",
|
||||
"version": "1.0.5",
|
||||
"description": "基于 Promise 的 HTTP 请求库,适用于各大小程序平台。",
|
||||
"main": "package/index.js",
|
||||
"miniprogram": "package",
|
||||
|
|
|
@ -2,17 +2,16 @@
|
|||
* @Author: early-autumn
|
||||
* @Date: 2020-04-17 12:18:25
|
||||
* @LastEditors: early-autumn
|
||||
* @LastEditTime: 2020-04-18 20:34:02
|
||||
* @LastEditTime: 2020-04-19 01:15:42
|
||||
*/
|
||||
import { Adapter, Platform } from '../types';
|
||||
|
||||
/* eslint-disable no-var */
|
||||
var wx: Platform;
|
||||
var swan: Platform;
|
||||
var my: Platform;
|
||||
var tt: Platform;
|
||||
var qq: Platform;
|
||||
var uni: Platform;
|
||||
declare let wx: Platform;
|
||||
declare let my: Platform;
|
||||
declare let swan: Platform;
|
||||
declare let tt: Platform;
|
||||
declare let qq: Platform;
|
||||
declare let uni: Platform;
|
||||
|
||||
/**
|
||||
* 设置当前平台适配器
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: early-autumn
|
||||
* @Date: 2020-04-15 12:45:18
|
||||
* @LastEditors: early-autumn
|
||||
* @LastEditTime: 2020-04-18 15:32:21
|
||||
* @LastEditTime: 2020-04-19 01:40:54
|
||||
*/
|
||||
import { AxiosRequestConfig, Data, AxiosResponse, AxiosBaseInstance, AxiosInstance } from './types';
|
||||
import Axios from './core/Axios';
|
||||
|
@ -51,7 +51,7 @@ function createInstance(config: AxiosRequestConfig): AxiosInstance {
|
|||
}
|
||||
|
||||
// Axios 实例的所有属性和方法合并至 axios 函数
|
||||
Object.assign(axios, instance);
|
||||
Object.assign(axios, instance, Object.getPrototypeOf(instance));
|
||||
|
||||
return axios as AxiosInstance;
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: early-autumn
|
||||
* @Date: 2020-04-15 17:50:50
|
||||
* @LastEditors: early-autumn
|
||||
* @LastEditTime: 2020-04-17 16:11:54
|
||||
* @LastEditTime: 2020-04-19 02:22:28
|
||||
*/
|
||||
import {
|
||||
InterceptorResolved,
|
||||
|
@ -24,11 +24,11 @@ export default class InterceptorManagerStatic<T> implements InterceptorManager<T
|
|||
/**
|
||||
* 拦截器集合
|
||||
*/
|
||||
private interceptors: Map<number, Interceptor<T>>;
|
||||
private interceptors: Record<string, Interceptor<T>>;
|
||||
|
||||
constructor() {
|
||||
this.id = 0;
|
||||
this.interceptors = new Map();
|
||||
this.interceptors = {};
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -38,10 +38,10 @@ export default class InterceptorManagerStatic<T> implements InterceptorManager<T
|
|||
* @param rejected 失败的回调函数
|
||||
*/
|
||||
public use(resolved: InterceptorResolved<T>, rejected: InterceptorRejected = (err: any) => Promise.reject(err)) {
|
||||
this.interceptors.set(this.id++, {
|
||||
this.interceptors[this.id++] = {
|
||||
resolved,
|
||||
rejected,
|
||||
});
|
||||
};
|
||||
|
||||
return this.id;
|
||||
}
|
||||
|
@ -52,7 +52,7 @@ export default class InterceptorManagerStatic<T> implements InterceptorManager<T
|
|||
* @param id 拦截器 id
|
||||
*/
|
||||
public eject(id: number): void {
|
||||
this.interceptors.delete(id);
|
||||
delete this.interceptors[id];
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -62,7 +62,7 @@ export default class InterceptorManagerStatic<T> implements InterceptorManager<T
|
|||
* @param reverse 是否倒序遍历
|
||||
*/
|
||||
public forEach(executor: InterceptorExecutor<T>, reverse?: 'reverse'): void {
|
||||
let interceptors: Interceptor<T>[] = [...this.interceptors.values()];
|
||||
let interceptors: Interceptor<T>[] = [...Object.values(this.interceptors)];
|
||||
|
||||
if (reverse === 'reverse') {
|
||||
interceptors = interceptors.reverse();
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: early-autumn
|
||||
* @Date: 2020-04-16 00:48:45
|
||||
* @LastEditors: early-autumn
|
||||
* @LastEditTime: 2020-04-18 20:32:56
|
||||
* @LastEditTime: 2020-04-19 01:56:59
|
||||
*/
|
||||
import { AxiosRequestConfig, AxiosResponse, Response } from '../types';
|
||||
import createError from '../core/createError';
|
||||
|
@ -50,7 +50,7 @@ export default function request(config: AxiosRequestConfig): Promise<AxiosRespon
|
|||
if (config.validateStatus === undefined || config.validateStatus(response.status)) {
|
||||
resolve(response);
|
||||
} else {
|
||||
catchError(`请求失败,状态码为 ${status}`, response);
|
||||
catchError(`请求失败,状态码为 ${response.status}`, response);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: early-autumn
|
||||
* @Date: 2020-04-18 12:00:01
|
||||
* @LastEditors: early-autumn
|
||||
* @LastEditTime: 2020-04-18 15:40:23
|
||||
* @LastEditTime: 2020-04-19 02:32:15
|
||||
*/
|
||||
import { AliasMethod, Headers, AxiosRequestConfig } from '../types';
|
||||
import { merge } from './utils';
|
||||
|
@ -18,7 +18,7 @@ export default function flattenHeaders(config: AxiosRequestConfig): Headers {
|
|||
|
||||
headers = merge(headers.common ?? {}, headers[method] ?? {}, headers);
|
||||
|
||||
['delete', 'get', 'head', 'post', 'put', 'patch', 'common'].forEach((key: string) => {
|
||||
['common', 'options', 'delete', 'get', 'head', 'post', 'put', 'trace', 'connect'].forEach((key: string) => {
|
||||
delete headers[key];
|
||||
});
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: early-autumn
|
||||
* @Date: 2020-04-13 21:55:40
|
||||
* @LastEditors: early-autumn
|
||||
* @LastEditTime: 2020-04-17 09:29:19
|
||||
* @LastEditTime: 2020-04-19 01:56:21
|
||||
*/
|
||||
const _toString = Object.prototype.toString;
|
||||
|
||||
|
@ -94,6 +94,9 @@ export function deepMerge(...objs: Record<string, any>[]): Record<string, any> {
|
|||
}
|
||||
|
||||
objs.forEach((obj: Record<string, any>): void => {
|
||||
if (obj === undefined) {
|
||||
return;
|
||||
}
|
||||
Object.entries(obj).forEach(([key, value]) => assignValue(key, value));
|
||||
});
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: early-autumn
|
||||
* @Date: 2020-04-14 23:22:52
|
||||
* @LastEditors: early-autumn
|
||||
* @LastEditTime: 2020-04-18 23:47:50
|
||||
* @LastEditTime: 2020-04-19 02:31:59
|
||||
*/
|
||||
import axios from './axios';
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* @Author: early-autumn
|
||||
* @Date: 2020-04-13 15:23:53
|
||||
* @LastEditors: early-autumn
|
||||
* @LastEditTime: 2020-04-18 23:00:43
|
||||
* @LastEditTime: 2020-04-19 02:06:24
|
||||
*/
|
||||
/**
|
||||
* 任意值对象
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
* @Author: early-autumn
|
||||
* @Date: 2020-04-14 23:43:45
|
||||
* @LastEditors: early-autumn
|
||||
* @LastEditTime: 2020-04-17 11:44:55
|
||||
* @LastEditTime: 2020-04-19 03:05:38
|
||||
*/
|
||||
import { isDate } from '../src/helper/utils';
|
||||
|
||||
describe('', () => {
|
||||
it('?', () => {
|
||||
expect(isDate({})).toBeFalsy();
|
||||
expect(isDate(new Date())).toBe(true);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue