|
@@ -162,7 +162,10 @@ service.interceptors.response.use(
|
|
// 2. 进行刷新访问令牌
|
|
// 2. 进行刷新访问令牌
|
|
try {
|
|
try {
|
|
// 2.1 刷新成功,则回放队列的请求 + 当前请求
|
|
// 2.1 刷新成功,则回放队列的请求 + 当前请求
|
|
- const data = tokenIndex === 1 ? await enterpriseRefreshToken(getRefreshToken()) : await userRefreshToken(getRefreshToken())
|
|
|
|
|
|
+ const refreshApi = tokenIndex === 1 ? enterpriseRefreshToken : userRefreshToken
|
|
|
|
+ const data = await refreshApi(getRefreshToken())
|
|
|
|
+ console.log(132, data)
|
|
|
|
+ // const data = tokenIndex === 1 ? await enterpriseRefreshToken(getRefreshToken()) : await userRefreshToken(getRefreshToken())
|
|
setToken(data.accessToken)
|
|
setToken(data.accessToken)
|
|
setRefreshToken(data.refreshToken)
|
|
setRefreshToken(data.refreshToken)
|
|
|
|
|
|
@@ -173,11 +176,13 @@ service.interceptors.response.use(
|
|
requestList = []
|
|
requestList = []
|
|
return service(config)
|
|
return service(config)
|
|
} catch (e) {
|
|
} catch (e) {
|
|
|
|
+ // console.log(e)
|
|
// 为什么需要 catch 异常呢?刷新失败时,请求因为 Promise.reject 触发异常。
|
|
// 为什么需要 catch 异常呢?刷新失败时,请求因为 Promise.reject 触发异常。
|
|
// 2.2 刷新失败,只回放队列的请求
|
|
// 2.2 刷新失败,只回放队列的请求
|
|
- requestList.forEach((cb) => {
|
|
|
|
- cb()
|
|
|
|
- })
|
|
|
|
|
|
+ // 刷新失败强制需要退回登录页面 不做队列执行
|
|
|
|
+ // requestList.forEach((cb) => {
|
|
|
|
+ // cb()
|
|
|
|
+ // })
|
|
// 提示是否要登出。即不回放当前请求!不然会形成递归
|
|
// 提示是否要登出。即不回放当前请求!不然会形成递归
|
|
return handleAuthorized()
|
|
return handleAuthorized()
|
|
} finally {
|
|
} finally {
|
|
@@ -245,13 +250,17 @@ const handleAuthorized = () => {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
isReLogin.show = true
|
|
isReLogin.show = true
|
|
- Confirm(t('common.confirmTitle'), t('sys.api.timeoutMessage')).then(() => {
|
|
|
|
|
|
+ Confirm(t('common.confirmTitle'), t('sys.api.timeoutMessage'), {
|
|
|
|
+ cancelCallback: true
|
|
|
|
+ }).then(() => {
|
|
// resetRouter() // 重置静态路由表
|
|
// resetRouter() // 重置静态路由表
|
|
// deleteUserCache() // 删除用户缓存
|
|
// deleteUserCache() // 删除用户缓存
|
|
removeToken()
|
|
removeToken()
|
|
isReLogin.show = false
|
|
isReLogin.show = false
|
|
// 干掉token后再走一次路由让它过router.beforeEach的校验
|
|
// 干掉token后再走一次路由让它过router.beforeEach的校验
|
|
location.reload()
|
|
location.reload()
|
|
|
|
+ }).catch(() => {
|
|
|
|
+ isReLogin.show = false
|
|
})
|
|
})
|
|
}
|
|
}
|
|
return Promise.reject(t('sys.api.timeoutMessage'))
|
|
return Promise.reject(t('sys.api.timeoutMessage'))
|