// Http.js
// 在http.js文件中,处理axios
import axios from 'axios'
// 引入qs模块,用来序列化post类型的数据
import QS from 'qs'
import {
Http2SecureServer } from 'http2';
// 环境的切换
// 我们的项目环境可能有开发环境、测试环境和生产环境。我们通过node的环境变量来匹配我们的默认的接口url前缀。axios.defaults.baseURL可以设置axios的默认请求地址就不多说了。
axios.defaults.baseURL = 'aaa/aaa/';
// 通过axios.defaults.timeout设置默认的请求超时时间。例如超过了10s,就会告知用户当前请求超时,请刷新等。
axios.defaults.timeout = 10000
// post请求的时候,我们需要加上一个请求头,所以可以在这里进行一个默认的设置,即设置post的请求头为application/x-www-form-urlencoded;charset=UTF-8
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
withCredentials:true
// 请求拦截器
axios.interceptors.request.use(
config => {
// 如果存在,则统一在http请求的header都加上token,这样后台根据token判断你的登录情况
// 即使本地存在token,也有可能token是过期的,所以在响应拦截器中要对返回状态进行判断
config.headers = {
'Content-Type':'application/x-www-form-urlencoded;charset=UTF-8'
}
// debugger
const token = 'abcdefg';
token && (config.headers.Authorization = token);
return config;
},
error => {
return Promise.error<
axios 模块化管理接口
最新推荐文章于 2023-07-04 14:24:38 发布