fix: 后端探测加5秒超时,避免刷新长时间等待

This commit is contained in:
2026-04-03 17:45:16 +08:00
parent 4d1003e467
commit 8a14c5244e

View File

@@ -52,9 +52,13 @@ router.beforeEach(async (to, from, next) => {
} else if (to.path === '/login' && token) {
next('/desktop')
} else if (to.meta.requiresAuth && token) {
// 有 token 且要进需认证页面,先验证后端是否可用
// 有 token 且要进需认证页面,先验证后端是否可用5秒超时
try {
await fetch('/api/files/test')
const controller = new AbortController()
const timeoutId = setTimeout(() => controller.abort(), 5000)
const res = await fetch('/api/files/test', { signal: controller.signal })
clearTimeout(timeoutId)
if (!res.ok) throw new Error('backend error')
next()
} catch {
// 后端不可用,清除登录状态跳转登录页