Pre Merge pull request !840 from 熊猫大侠/dev-tmp
commit
156520c0cd
|
|
@ -161,6 +161,8 @@ service.interceptors.response.use(
|
||||||
}
|
}
|
||||||
// 2. 进行刷新访问令牌
|
// 2. 进行刷新访问令牌
|
||||||
try {
|
try {
|
||||||
|
// 刷新令牌时,需要将 isRelogin.show 设置为 false,解决在后台失效token,前端缓存token,登录页卡死的问题
|
||||||
|
isRelogin.show = false
|
||||||
const refreshTokenRes = await refreshToken()
|
const refreshTokenRes = await refreshToken()
|
||||||
// 2.1 刷新成功,则回放队列的请求 + 当前请求
|
// 2.1 刷新成功,则回放队列的请求 + 当前请求
|
||||||
setToken((await refreshTokenRes).data.data)
|
setToken((await refreshTokenRes).data.data)
|
||||||
|
|
@ -246,7 +248,12 @@ const handleAuthorized = () => {
|
||||||
if (!isRelogin.show) {
|
if (!isRelogin.show) {
|
||||||
// 如果已经到登录页面则不进行弹窗提示
|
// 如果已经到登录页面则不进行弹窗提示
|
||||||
if (window.location.href.includes('login')) {
|
if (window.location.href.includes('login')) {
|
||||||
return
|
// 后台refreshtoken失效,前台缓存token存在,直接访问Login页面会卡死。
|
||||||
|
// 清除掉token,重新走路由守卫,确保本地即使缓存了token也是能正常加载登录页,前提是要确保isRelogin.show为false
|
||||||
|
// https://wx.zsxq.com/group/88858522214142/topic/45811881251414188
|
||||||
|
removeToken()
|
||||||
|
window.location.href = window.location.href
|
||||||
|
// return
|
||||||
}
|
}
|
||||||
isRelogin.show = true
|
isRelogin.show = true
|
||||||
ElMessageBox.confirm(t('sys.api.timeoutMessage'), t('common.confirmTitle'), {
|
ElMessageBox.confirm(t('sys.api.timeoutMessage'), t('common.confirmTitle'), {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue