給所有請求添加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