// 导入 axios import axios from 'axios' // 引入 ElMessage 消息提示 import { ElMessage } from 'element-plus' // axios 基础配置 const service = axios.create({ // 基础路径 baseURL: process.env.VUE_APP_BASE_API, // 超时时间 timeout: 5000 }) // 响应拦截器 service.interceptors.response.use( // 请求响应时 (response) => { const { data, meta } = response.data if (meta.status === 200 || meta.status === 201) { return data } else { // meta.msg = '拦截器出错' ElMessage.error(meta.msg) return Promise.reject(new Error(meta.msg)) } }, // 无响应时 (error) => { // console.log(error.response) error.response.data = '后端服务器无响应或者URL错误' error.response && ElMessage.error(error.response.data) return Promise.reject(new Error(error.response.data)) } ) // 请求拦截器 service.interceptors.request.use( (config) => { config.headers.Authorization = localStorage.getItem('token') return config }, (error) => { return Promise.reject(new Error(error)) } ) // 导出以供外界使用 export default service