import { createRouter, createWebHistory } from 'vue-router' import HomeView from '@/views/HomeView.vue' import MapView from '@/views/MapView.vue' import MainView from '@/views/MainView.vue' import keycloak from '@/plugins/keycloak' const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ { path: '/', name: 'home', component: MainView, children: [ { path: '/', name: 'home', component: HomeView, meta: { Auth: true, }, }, { path: '/map', name: 'map', component: MapView, meta: { Auth: true, }, }, { path: '/about', name: 'about', // route level code-splitting // this generates a separate chunk (about.[hash].js) for this route // which is lazy-loaded when the route is visited. component: () => import('@/views/AboutView.vue'), meta: { Auth: true, }, }, { path: '/history', name: 'history', component: () => import('@/views/HistoryView.vue'), meta: { Auth: false, }, }, { path: '/auth', name: 'auth', component: () => import('@/views/auth.vue'), }, /** * 404 Not Found * ref: https://router.vuejs.org/guide/essentials/dynamic-matching.html#catch-all-404-not-found-route */ { path: '/:pathMatch(.*)*', name: 'NotFound', component: () => import('@/views/ErrorNotFoundPage.vue'), meta: { Auth: true, }, }, ], }, ], }) router.beforeEach((to, from, next) => { if (to.meta.Auth) { console.log('keycloak===>', keycloak) console.log('keycloak authenticated===>', keycloak.authenticated) if (keycloak.authenticated === undefined) { window.location.href = 'https://bma-sso.frappet.synology.me' // } else { // // keycloak.updateToken(60); // // const role = keycloak.tokenParsed?.role // // if (role.includes(to.meta.Role)) { // next() // // } else { // // next({ path: '' }) // // // next(); // // } } } else { next() } next() }) export default router