使用者未登入訪問連結,前端如何跳轉登入頁
阿新 • • 發佈:2022-04-21
在某些必須要登入才能操作的前端專案中,有時候我們使用者會遇到這樣的場景,首次訪問收藏了地址,下次通過收藏的地址訪問的時候登入已過期,請求介面的時候後端會返回重定向的地址,此時狀態碼為200,無法從狀態碼判斷是否重定向:
這時候可以在響應攔截器中新增判斷 response.request.responseURL.match(response.config.url) 為null則跳轉登入頁。
(loginRedirect?linkUrl=" + window.location.pathname)是傳給後端的引數,登入後返回當前頁
service.interceptors.response.use(
response => {
console.log('response', response) // for debug
// 判斷是否
let matchUrl = response.request.responseURL.match(response.config.url);
if (matchUrl!=null) {
return response.data;
} else {
// store.dispatch("LogOut").then(() => {
window.location.href = "/login/loginRedirect?linkUrl=" + window.location.pathname;
// });
}
},
error => {
return Promise.reject(error)
}
)