1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| import axios from 'axios' import { useUserStore } from '@/stores/index' import { ElMessage } from 'element-plus' import router from '@/router' const isDev = process.env.NODE_ENV === 'development'
const instance = axios.create({ baseURL: isDev ? 'http://localhost:8081/api' : '生产环境地址', timeout: 100000 })
instance.interceptors.request.use( (config) => { const userStore = useUserStore() if (userStore.token) { config.headers.Authorization = userStore.token } return config }, (err) => Promise.reject(err) )
instance.interceptors.response.use( (res) => { if (res.data.code === 1) { return res.data } if (res.data.code === 40100) { router.push('/login') } ElMessage({ message: res.data.message || '服务异常', type: 'error' }) return Promise.reject(res.data) }, (err) => { ElMessage({ message: err.response.data.message || '服务异常', type: 'error' }) if (err.response.status === 401) { router.push('/login') } return Promise.reject(err) } )
export default instance export { baseURL }
|