vue element admin UI之请求与响应拦截

1.本文章讲述的是 VUE element admin UI中拦截器的作用  我们先来讲一下请求的原理

 

 

requert2.js 这里有小小的改动  把之前的requert.js替换成requert2.js因为请求的端口太多了  

在requert2.js里引入import axios from 'axios'  然后定义请求格式  

 

 

 

复制const instance = axios.create({     timeout: 20000,     baseURL: process.env.VUE_APP_BASE_API,     headers: {         'Content-Type': "application/json",     } })

2.定义请求头拦截

 

 

 

instance .interceptors.request.use(     config => {         config.headers['Authorization'] = 'Bearer' + getToken()         return config     },     error => {         return Promise.reject(error)     } )

在请求头里面定义token是因为在请求之前想做什么,就是每次请求之前刷新token 这样才能做到token时刻更新时刻判断

getToken()是定义的对token存储在 auth.js的处理  如果用到token引入auth.js就好  Promise的作用请自行百度

 

 

 请求头拦截除了做token刷新的作用 还可以做其他的作用具体看业务逻辑

2.请求头响应拦截

 

 

 

var ccc = function(instance) {
    instance.interceptors.response.use(
        response => {
            return response
        }, error => {
            if (error.response.data.code == 401) {
                MessageBox.confirm('您token已过期,请确认后请重新登录', ).then(() => {
                    store.dispatch('user/resetToken').then(() => {
                        location.reload()
                    })
                })
            } else if (error.response.data.code == 500) {
                return error
            } else {
                return error
            }
        }
    )
}
我这里是对请求响应做了一个封装 ,因为后端服务太多导致端口太多,这里响应成功和失败对应的是response,error 两种 可以做失败与成功相应的处理
 
posted @ 2022-04-18 14:37  小猴子会上树  阅读(780)  评论(0编辑  收藏  举报