给所有请求添加token 与 路由拦截器


设置baseURL

let _baseUrl = "https://api.zhiyedang.cn";
const http = axios.create({
    baseURL: _baseUrl
})
export const baseURL = _baseUrl

 

给所有请求添加token

http.interceptors.request.use(
    function(config) {
        // 在请求之前干一些事 , 比如 : 统一的设置token
        if ($cookies.isKey('isLogin')) { //比如登陆不需要token,所以只有 有token时才带
            config.headers.Authorization = JSON.parse(window.localStorage.getItem("Login")).token
        }
        return config
    },
    function(error) {
        // 在请求失败的时候干一些事
        return Promise.reject(error)
    }
)

 

路由拦截器

http.interceptors.response.use(function(response) {
    // 响应成功后执行
    //如果返回的是无效的token,就把他打回登陆
    if (response.data.message == '您未登录或者登录状态已过期') {
        //销毁token
        localStorage.removeItem('Login')
        window.$cookies.remove('isLogin')
        //警告提示
        // new Vue().$message.error('无效的token')
        //打回登陆
        router.push('/login')
    }
    return response;
}, function(error) {
    // 响应出错 执行
    return Promise.reject(error);
});

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM