fix: 后端探测加5秒超时,避免刷新长时间等待
This commit is contained in:
@@ -52,9 +52,13 @@ router.beforeEach(async (to, from, next) => {
|
|||||||
} else if (to.path === '/login' && token) {
|
} else if (to.path === '/login' && token) {
|
||||||
next('/desktop')
|
next('/desktop')
|
||||||
} else if (to.meta.requiresAuth && token) {
|
} else if (to.meta.requiresAuth && token) {
|
||||||
// 有 token 且要进需认证页面,先验证后端是否可用
|
// 有 token 且要进需认证页面,先验证后端是否可用(5秒超时)
|
||||||
try {
|
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()
|
next()
|
||||||
} catch {
|
} catch {
|
||||||
// 后端不可用,清除登录状态跳转登录页
|
// 后端不可用,清除登录状态跳转登录页
|
||||||
|
|||||||
Reference in New Issue
Block a user