import axios from'axios'import{ MessageBox, Message }from'element-ui'import store from'@/store'import{ getToken }from'@/utils/auth'// create an axios instanceconst service = axios.create({baseURL:'',// url = base url + request url// withCredentials: true, // send cookies when cross-domain requeststimeout:5000// request timeout})// request interceptor
service.interceptors.request.use(config=>{// do something before request is sentif(store.state.appToken){// let each request carry token// ['X-Token'] is a custom headers key// please modify it according to the actual situation// config.headers['X-Token'] = getToken()}return config
},error=>{// do something with request error
console.log(error)// for debugreturn Promise.reject(error)})// response interceptor
service.interceptors.response.use(/**
* If you want to get http information such as headers or status
* Please return response => response
*//**
* Determine the request status by custom code
* Here is just an example
* You can also judge the status by HTTP Status Code
*/response=>{let res = response.data;// if the custom code is not 20000, it is judged as an error.statusif(res.code && res.code !==20000){Message({message: res.message ||'Error',type:'error',duration:5*1000})return Promise.reject(newError(res.message ||'Error'))}else{return res
}},error=>{
console.log('err'+ error)// for debugMessage({message: error.message,type:'error',duration:5*1000})return Promise.reject(error)})exportdefault service