/* * @Author: 张嘉彬 * @Date: 2021-09-28 14:42:15 * @Description: */ import axios from 'axios' // import { Message } from 'element-ui' // import store from '../store' // import { // codeHeaders, // encryptBody // } from './sm' // 创建axios实例 const service = axios.create({ baseURL: process.env.VUE_APP_CURRENTMODE === 'development' ? '/api' : process.env.VUE_APP_API_BASE_URL, timeout: 15000, withCredentials: true }) // request拦截器 service.interceptors.request.use((config) => { // 如果没有设置Content-Type,默认application/json if (!config.headers['Content-Type']) { config.headers['Content-Type'] = 'application/json' } // 方法做防重返和防篡改 // if (process.env.VUE_APP_ENCRYPTION === '1') { // config = codeHeaders(config) // config = encryptBody(config) // } // 每次发送请求之前判断vuex中是否存在token // 如果存在,则统一在http请求的header都加上token const token = window.localStorage.getItem('access_token') console.log('请求头中的token:', token) if (token) { config.headers.Authorization = 'Bearer ' + token } return config }, (error) => { Promise.reject(error) }) // respone拦截器 service.interceptors.response.use( (response) => { return response.data }, (error) => { // switch (error.response.data.status) { // case '401': // store.commit('logout') // break // case '403': // // router.push({ name: '403' }) // break // default: window.alert(error.response.data.error_description) // } return Promise.reject(error) } ) export default service