更新
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
//更多配置:http://axios-js.com/zh-cn/docs/index.html#%E8%AF%B7%E6%B1%82%E9%85%8D%E7%BD%AE
|
||||
|
||||
module.exports = {
|
||||
// `baseURL` 将自动加在 `url` 前面,除非 `url` 是一个绝对 URL。
|
||||
// 它可以通过设置一个 `baseURL` 便于为 axios 实例的方法传递相对 URL
|
||||
baseURL: 'https://some-domain.com/api/',
|
||||
// `headers` 是即将被发送的自定义请求头
|
||||
headers: {'X-Requested-With': 'XMLHttpRequest'},
|
||||
// `timeout` 指定请求超时的毫秒数(0 表示无超时时间)
|
||||
// 如果请求话费了超过 `timeout` 的时间,请求将被中断
|
||||
timeout: 30 * 1000,
|
||||
|
||||
// `withCredentials` 表示跨域请求时是否需要使用凭证
|
||||
withCredentials: false, // default
|
||||
|
||||
// `responseType` 表示服务器响应的数据类型,可以是 'arraybuffer', 'blob', 'document', 'json', 'text', 'stream'
|
||||
responseType: 'json', // default
|
||||
|
||||
// `responseEncoding` indicates encoding to use for decoding responses
|
||||
// Note: Ignored for `responseType` of 'stream' or client-side requests
|
||||
responseEncoding: 'utf8', // default
|
||||
|
||||
// `xsrfCookieName` 是用作 xsrf token 的值的cookie的名称
|
||||
xsrfCookieName: 'XSRF-TOKEN', // default
|
||||
|
||||
// `xsrfHeaderName` is the name of the http header that carries the xsrf token value
|
||||
xsrfHeaderName: 'X-XSRF-TOKEN', // default
|
||||
|
||||
// `maxContentLength` 定义允许的响应内容的最大尺寸
|
||||
// maxContentLength: 2000,
|
||||
|
||||
// `maxRedirects` 定义在 node.js 中 follow 的最大重定向数目
|
||||
// 如果设置为0,将不会 follow 任何重定向
|
||||
// maxRedirects: 5, // default
|
||||
|
||||
// 'proxy' 定义代理服务器的主机名称和端口
|
||||
// `auth` 表示 HTTP 基础验证应当用于连接代理,并提供凭据
|
||||
// 这将会设置一个 `Proxy-Authorization` 头,覆写掉已有的通过使用 `header` 设置的自定义 `Proxy-Authorization` 头。
|
||||
// proxy: {
|
||||
// host: '127.0.0.1',
|
||||
// port: 9000,
|
||||
// auth: {
|
||||
// username: 'mikeymike',
|
||||
// password: 'rapunz3l'
|
||||
// }
|
||||
// },
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* Axios 是一个基于 promise 的 HTTP 库
|
||||
*/
|
||||
const config = require("./config")
|
||||
const axios = require('axios');
|
||||
const request = require('./request');
|
||||
const requestError = require('./request.error');
|
||||
const response = require('./response');
|
||||
const responseError = require('./response.error');
|
||||
module.exports = async (app) => {
|
||||
Object.assign(axios.defaults, config)
|
||||
axios.interceptors.request.use(request,requestError)
|
||||
axios.interceptors.response.use(response,responseError)
|
||||
app.axios = axios
|
||||
app.alias["$axios"] = app.axios
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
//请求拦截器错误时
|
||||
module.exports = (error) => {
|
||||
// 对请求错误做些什么
|
||||
return Promise.reject(error);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
//请求拦截器
|
||||
module.exports = (config) => {
|
||||
// 在发送请求之前做些什么
|
||||
return config;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
//响应拦截器错误时
|
||||
module.exports = (error) => {
|
||||
// 对请求错误做些什么
|
||||
return Promise.reject(error);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
//响应拦截器
|
||||
module.exports = (response) => {
|
||||
// 对响应数据做点什么
|
||||
return response;
|
||||
}
|
||||
Reference in New Issue
Block a user