axios拦截器

import axios from 'axios'
// 配置默认的 host, 假如你的 API host 是: http://api.htmlx.club
axios.defaults.baseURL = 'http://api.htmlx.club'
// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  return config
}, function (error) {
  // 对请求错误做些什么
return Promise.reject(error)
});
// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  return response
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error)
});
const routes =[
{
path:'/',
name:'/',
component:Index
},
{
path:'/repository',
name:'repository',
meta:{
requireAuth:true,// 添加该字段, 表示进入这个路由是需要登录的
},
component:Repository
},
{
path:'/login',
name:'login',
component:Login
}
];
router.beforeEach((to,from,next)=>{
if(to.meta.requireAuth){// 判断该路由是否需要登录权限
if(store.state.token){// 通过 vuex state 获取当前的 token 是否存在
next();
}
else{
next({
path:'/login',
query:{redirect: to.fullPath}// 将跳转的路由 path 作为参数, 登录成功后跳转到该路由
})
}
}
else{
next();
}
})

vue--axios 拦截器的简单介绍及使用场景 - 蛋蛋烦蛋蛋 - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值