vue接口错误拦截
- 统一报错
- 未登录统一拦截
- 返回值统一处理
接口规范要跟后台定好,正确码,报错码等。。。
//例如你跟后台定的是这样:
{
data:[], //数据
status:0, // 状态吗
msg:'', //报错
}
//根据前端的跨域方式做调整
axios.defaults.baseURL = '',
//定义一个超时 8s
axios.defaults.timeout = 8000
// 拦截器
// request 请求值
// response 返回值 所有接口返回都会经过这个
//接口错误拦截
axios.interceptors.response.use((response)=>{
//response.data才是接口的值
let res = response.data
if(res.status == 0){
//正确返回参数
return res.data
}else if(res.status == "错误的状态码"){
//这是返回指定参数需要做的操作,跳转到指定的页面,一般都是哈希路由,一定要把路径写全,
window.location.href = "/#/login"
}else{
//这就是错误了,可以换成自己用的ui组件报错提醒
alert(res.msg)
}
})