fix: 后端探测加5秒超时,避免刷新长时间等待
This commit is contained in:
@@ -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 {
|
||||
// 后端不可用,清除登录状态跳转登录页
|
||||
|
||||
Reference in New Issue
Block a user