| 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() |
| } |
| }) |
| } |
|
|