fix(web): preserve next on 401, validate redirect target, catch navigation rejections

This commit is contained in:
2026-04-29 10:16:07 +08:00
parent 9d93bcd24b
commit 9e3b745da3
3 changed files with 9 additions and 6 deletions
+4 -3
View File
@@ -7,13 +7,12 @@ const routes: RouteRecordRaw[] = [
path: '/login',
name: 'login',
component: () => import('@/views/auth/LoginView.vue'),
meta: { layout: 'none' },
},
{
path: '/',
name: 'home',
component: () => import('@/views/HomeView.vue'),
meta: { layout: 'app', requiresAuth: true },
meta: { requiresAuth: true },
},
]
@@ -42,7 +41,9 @@ export function bindAuthToApi() {
tokenProvider: () => auth.token,
onUnauthorized: () => {
auth.clearSession()
router.replace({ name: 'login' })
const current = router.currentRoute.value
const query = current.name === 'login' ? undefined : { next: current.fullPath }
router.replace({ name: 'login', query }).catch(() => {})
},
})
}