vue项目的src-utils的request.js封装axios请求模块
/** * 封装 axios 请求模块 */ import store from '@/store' import axios from 'axios' import JSONBig from 'json-bigint' const request = axios.create({ baseURL: 'http:///', // 基础路径 // 自定义后端返回的原始数据 // data: 后端返回的原始数据,说白了就是 JSON 格式的字符串 transformResponse: [function (data) { try { return JSONBig.parse(data) } catch (err) { return data } // axios 默认会在内部这样来处理后端返回的数据 // return JSON.parse(data) }] }) // 请求拦截器 // Add a request interceptor request.interceptors.request.use(function (config) { const { user } = store.state if (user && user.token) { config.headers.Authorization = `Bearer ${user.token}` } // 注意:这里务必要返回 config 配置对象,否则请求就停在这里出不去了 return config }, function (error) { // 如果请求出错了(还没有发出去)会进入这里 return Promise.reject(error) }) // 响应拦截器 export default request