Spaces:
Sleeping
Sleeping
import type { Router } from 'vue-router' | |
import { useAuthStoreWithout } from '@/store/modules/auth' | |
export function setupPageGuard(router: Router) { | |
router.beforeEach(async (to, from, next) => { | |
const authStore = useAuthStoreWithout() | |
if (!authStore.session) { | |
try { | |
const data = await authStore.getSession() | |
if (String(data.auth) === 'false' && authStore.token) | |
authStore.removeToken() | |
if (to.path === '/500') | |
next({ name: 'Root' }) | |
else | |
next() | |
} | |
catch (error) { | |
if (to.path !== '/500') | |
next({ name: '500' }) | |
else | |
next() | |
} | |
} | |
else { | |
next() | |
} | |
}) | |
} | |