// 封装axios请求的模块 import axios from 'axios' // 用axios重新生成了请求的实例 const server = axios.create({ baseURL: '', // 项目发送axios请求的公共地址 timeout: 20000 // 请求超时时间 这里是请求超过五秒后还没有获得请求结果 提示请求超时 }) // axios请求阶段相关配置 // 请求拦截 // interceptors axios的拦截对象 request请求的意思 use使用的意思 // 这里的整体意思就是使用请求拦截 server.interceptors.request.use(config => { // config包含了请求相关的所有信息 // 可以同过config对象给请求配置或者修改信息 config.headers.Authorization ="Bearer " + sessionStorage.getItem('token'); return config // 将配置完成的token返回 如果不返回 请求不会继续进行 }, err => { // 请求发生错误时的回调函数 // 这里的意思是请求发送错误时将错误抛出 // throw new Error(err) // console.error(err) //将错误信息打印在控制台中 Promise.reject(err) // 使用promise将错误信息返回出去 }) // axios 接受到服务器响应信息后的配置 // response 是响应的意思 这里的意思是使用响应拦截 server.interceptors.response.use(res => { // res包含了服务器返回的所有响应信息 其实就是服务器返回给你的东西 return res.data }, err => { // 当服务器响应产生错误时的回调函数 console.error(err) // 这里将服务器发生错误的错误信息打印在控制台中 }) export default server