import axios from'axios'import{ Message }from'element-ui'import store from'@/store'import router from'@/router'// create an axios instanceconst service = axios.create({baseURL: process.env.VUE_APP_BASE_API,// 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 sent
config.withCredentials =trueif(store.getters.token){
config.headers['token']= store.getters.token
config.headers['refreshToken']= store.state.user.refreshToken
withCredentials:true}return config
},error=>{
console.log(error)// for debugreturn Promise.reject("请联系管理员")})// response interceptor
service.interceptors.response.use(response=>{// 判断tokenif(!(response.headers.token ==""|| response.headers.token ==null|| response.headers.token ==undefined)){
store.commit("user/settoken", response.headers.token);}const res = response.data
if(res.code ==401){
router.push("/login")}if(res.code ==500){
console.log(res)Message({message: res.msg ||'Error',type:'error',duration:5*1000})return res
}else{return res
}},error=>{
console.log(error.response)// for debugif(error.response.status ===500){Message({message:"数据异常,请联系管理员",type:'error',duration:5*1000})}else{
router.push("/404")Message({message:"后台异常,请联系管理员",type:'error',duration:5*1000})return Promise.reject("请联系管理员")}})exportdefault service
2.user模块调用request
import request from'@/utils/request'exportfunctionlogin(data){returnrequest({url:'/login',method:'post',
data
})}//获取用户首页exportfunctiongetDefaultInfo(){returnrequest({url:'/user/selectAll/1/10',method:'get',params:{}})}