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