如何写一个axios的拦截器

import axios from "axios";
import { Message } from "element-ui";
import router from "@/router";

axios.interceptors.response.use(success=>{
//成功调用到后端的接口,但是后端告诉你业务逻辑错误
if(success.status && success.status == 200){
if(success.data.code == 500 || success.data.code == 401 || success.data.code == 403){
Message.error({message:success.data.message})
return
}

  if(success.data.message){
    Message.success({message:success.data.message})
  }
}
return success.data

},error => {
//完全的错误,后端的接口都没有调用到
if(error.response.code == 504 || error.response.code==404){
Message.error({message:'服务器被吃了!!!'})
}else if(error.response.code == 403){
Message.error({message:"权限不足,请联系管理员!"})
}else if(error.response.code ==401){
Message.error({message:'尚未登录请登录'})
router.replace('/')
}else{
if(error.response.data.message){
Message.error({message:error.response.data.message})
}else {
Message.error({message:'未知错误!!!!'})
}
}
})

这里还用到了element-ui,所以你要提前安装这个插件。

你可能感兴趣的:(如何写一个axios的拦截器)