You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
6.3 KiB
168 lines
6.3 KiB
/**
|
|
* axios的惯例配置
|
|
*
|
|
* @author lautin
|
|
* @created 2019-11-21 21:18:25
|
|
*/
|
|
|
|
// import Qs from 'qs';
|
|
import http from 'http';
|
|
import https from 'https';
|
|
|
|
// 这些是用于发出请求的可用配置选项。其中url为必选项,method默认值为GET
|
|
const config = {
|
|
// url是相对于服务器根地址的路径
|
|
url: '',
|
|
|
|
method: 'get', // default
|
|
|
|
// baseURL将被前缀为url,除非url是绝对的。
|
|
// 将baseURL设置为传递相对url的axios实例是很方便的
|
|
baseURL: '',
|
|
|
|
// `transformRequest`允许在请求数据发送到服务器之前对其进行修改
|
|
// 这只适用于请求方法`PUT POST PATCH 和 DELETE `
|
|
// 数组中的最后一个函数必须返回一个!!字符串!!或Buffer的一个实例ArrayBuffer,
|
|
// FormData或Stream 你可以修改headers对象。
|
|
// transformRequest: [function (data, headers) {
|
|
// // 此处写下你想如何转化数据
|
|
// return data;
|
|
// }],
|
|
|
|
// `transformResponse`允许更改之前的响应数据 它被传递到then/catch
|
|
transformResponse: [function (data) {
|
|
// 此处写下你想如何转化数据
|
|
|
|
return data;
|
|
|
|
}],
|
|
|
|
// 要发送的自定义头
|
|
headers: {
|
|
'X-Requested-With': 'XMLHttpRequest'
|
|
},
|
|
|
|
// 'params'是与请求一起发送的URL参数 必须是一个普通对象或URLSearchParams对象
|
|
params: {
|
|
// ID: 12345
|
|
},
|
|
|
|
// 一个可选函数,负责序列化params,将对象转化为urlencode数据
|
|
// (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/)
|
|
// paramsSerializer: function (params) {
|
|
// return Qs.stringify(params, {
|
|
// arrayFormat: 'brackets'
|
|
// })
|
|
// },
|
|
|
|
// data是作为请求体发送的数据 只适用于请求方法`PUT POST 和 PATCH`
|
|
// 当没有设置transformRequest时,必须是以下类型之一:
|
|
// -字符串,普通对象,ArrayBuffer,ArrayBufferView,URLSearchParams
|
|
// -只支持浏览器FormData, File, Blob
|
|
// -只有节点:流,缓冲区
|
|
data: {
|
|
|
|
},
|
|
|
|
// 指定请求超时之前的毫秒数。如果请求花费的时间超过timeout将被中止。
|
|
timeout: 10, // default is `0` (no timeout)
|
|
|
|
//表示有跨站点访问控制请求时应该使用凭证
|
|
withCredentials: false, // default
|
|
|
|
// adapter允许自定义处理请求,这使得测试更加容易。
|
|
// 返回一个Promise并提供一个有效的响应(参见lib/adapter/README.md)。
|
|
// adapter: function (config) {
|
|
// /* ... */
|
|
// },
|
|
|
|
// auth表示应该使用`HTTP Basic auth`,并提供凭据。
|
|
// 这将设置一个"授权"标题,覆盖任何现有的
|
|
// '授权'自定义标头,你已经设置使用'标头'。
|
|
// 请注意,只有HTTP基本认证是可配置的通过这个参数。
|
|
// 对于不记名令牌等,使用"授权"自定义标头代替。
|
|
// auth: {
|
|
// username: 'janedoe',
|
|
// password: 's00pers3cret'
|
|
// },
|
|
|
|
// 服务器响应的数据类型 选项有:
|
|
//'arraybuffer', 'document', 'json', 'text', 'stream'
|
|
// 只支持浏览器:"blob"
|
|
responseType: 'json', // default
|
|
|
|
// 用于解码响应的编码
|
|
// 注意:对于'stream'或客户端请求的'responseType'被忽略
|
|
responseEncoding: 'utf8', // default
|
|
|
|
// `xsrfCookieName` is the name of the cookie to use as a value for xsrf token
|
|
xsrfCookieName: 'XSRF-TOKEN', // default
|
|
|
|
// `xsrfHeaderName` is the name of the http header that carries the xsrf token value
|
|
xsrfHeaderName: 'X-XSRF-TOKEN', // default
|
|
|
|
// ' onUploadProgress '允许处理上传的进程事件
|
|
onUploadProgress: function (progressEvent) {
|
|
// Do whatever you want with the native progress event
|
|
},
|
|
|
|
// ' onDownloadProgress '允许处理下载的进度事件
|
|
onDownloadProgress: function (progressEvent) {
|
|
// Do whatever you want with the native progress event
|
|
},
|
|
|
|
// 定义http响应内容的最大字节数
|
|
maxContentLength: 2000,
|
|
|
|
// `validateStatus` defines whether to resolve or reject the promise for a given HTTP response status code.
|
|
// If `validateStatus` returns `true` (or is set to `null`
|
|
// or `undefined`), the promise will be resolved;
|
|
// otherwise, the promise will be rejected.
|
|
validateStatus: function (status) {
|
|
// 返回2开头的状态码才进入resolve 否则都按rejected处理
|
|
return status >= 200 && status < 300; // default
|
|
},
|
|
|
|
// 定义在node.js中跟随的最大重定向数。
|
|
// 如果设置为0,则不会遵循重定向。
|
|
maxRedirects: 5, // default
|
|
|
|
// `socketPath` defines a UNIX Socket to be used in node.js.
|
|
// e.g. '/var/run/docker.sock' to send requests to the docker daemon.
|
|
// Only either `socketPath` or `proxy` can be specified.
|
|
// If both are specified, `socketPath` is used.
|
|
socketPath: null, // default
|
|
|
|
// `httpAgent` and `httpsAgent` define a custom agent(定制代理) to be used when performing(体现) http and https requests, respectively(独立), in node.js. This allows options to be added like `keepAlive` that are not enabled by default.
|
|
httpAgent: new http.Agent({
|
|
keepAlive: true
|
|
}),
|
|
|
|
httpsAgent: new https.Agent({
|
|
keepAlive: true
|
|
}),
|
|
|
|
// 'proxy' defines the hostname and port of the proxy server.
|
|
// You can also define your proxy using the conventional `http_proxy` and
|
|
// `https_proxy` environment variables. If you are using environment variables
|
|
// for your proxy configuration, you can also define a `no_proxy` environment
|
|
// variable as a comma-separated list of domains that should not be proxied.
|
|
// Use `false` to disable proxies, ignoring environment variables.
|
|
// `auth` indicates that HTTP Basic auth should be used to connect to the proxy, and
|
|
// supplies credentials.
|
|
// This will set an `Proxy-Authorization` header, overwriting any existing
|
|
// `Proxy-Authorization` custom headers you have set using `headers`.
|
|
// proxy: {
|
|
// host: '127.0.0.1',
|
|
// port: 9000,
|
|
// auth: {
|
|
// username: 'mikeymike',
|
|
// password: 'rapunz3l'
|
|
// }
|
|
// },
|
|
|
|
// `cancelToken` specifies a cancel token that can be used to cancel the request
|
|
// (see Cancellation section below for details)
|
|
// cancelToken: new CancelToken(function (cancel) {})
|
|
}
|
|
export default config;
|
|
|