This commit is contained in:
2026-08-27 10:44:14 +08:00
parent 040f73c73e
commit df4b7eba8e
9 changed files with 89 additions and 14 deletions
+7 -1
View File
@@ -3,7 +3,7 @@ import { parseApiJsonResponse } from '@chongchong/shared'
import { clearSessionTokens, getAccessToken, getRefreshToken, persistTokenPair, type TokenPair } from '@/api/session'
import { apiErrorMessage, asFieldErrors } from '@/api/errorDetails'
import { ApiError, isApiEnvelope, type ApiEnvelope } from '@/api/types'
import { coordinateCrossTabRefresh } from '@/api/crossTabRefresh'
import { coordinateCrossTabRefresh, CrossTabRefreshTimeoutError } from '@/api/crossTabRefresh'
const transport = axios.create({
baseURL: import.meta.env.VITE_API_BASE_URL || '/api',
@@ -78,6 +78,12 @@ export async function refreshAuthenticatedSession() {
return tokens.accessToken
},
})
.catch((error) => {
if (error instanceof CrossTabRefreshTimeoutError) {
throw new ApiError(error.message, 'A0401', 401)
}
throw error
})
.finally(() => {
refreshPromise = null
})