之前遇到一个项目,对接接口后期需要处理一个问题,拦截每一个权限请求,检验是否登陆,main.js里代码:
axios.interceptors.request.use((config) => {
// 在发起请求的时候做一些业务处理
console.log(config)
return config
}, (error) => {
// 对请求失败做处理
return Promise.reject(error)
})
axios.interceptors.response.use((response) => {
// 对响应数据做处理
if (response.data.code !== 1 && response.data.errorCode == 501) {
// Vue.prototype.$message.closeAll()
// Vue.prototype.$message('未登录!请先登录...')
Vue.prototype.$confirm('未登录, 是否去登录?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
router.push({ path: '/login' }) // 未登录直接跳转登陆界面
}).catch(() => {
})
return false
}
return response
}, (error) => {
// 对响应错误做处理
return Promise.reject(error)
})