1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| import { createRouter, createWebHistory } from "vue-router";
const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ { path: "/", name: "Manager", component: () => import("@/views/Manager.vue"), redirect: "/home", children: [ { path: "home", name: "Home", component: () => import("@/views/manager/Home.vue"), meta: { requiresAuth: true }, }, ], }, { path: "/login", name: "Login", component: () => import("@/views/Login.vue"), }, ], });
router.beforeEach((to, from, next) => { const requiresAuth = to.matched.some((record) => record.meta.requiresAuth); const user = JSON.parse(localStorage.getItem("student-user")); if (requiresAuth && !user) { next("/login"); } else { next(); } });
export default router;
|