import { createRouter, createWebHistory } from 'vue-router' import HomeView from '../views/HomeView.vue' import Login from "../views/Login.vue"; const router = createRouter({ history: createWebHistory(import.meta.env.BASE_URL), routes: [ { path: '/', name: 'home', component: HomeView, meta: { title: 'SN管理', requiresAuth: true // 添加这行,标记该路由需要认证 } }, { path: '/login', name: 'Login', component: Login, meta: { requiresAuth: false // 明确表示登录页不需要认证 } } ] }) // 路由守卫 router.beforeEach((to, from, next) => { const isAuthenticated = sessionStorage.getItem('isAuthenticated') if (to.path === '/login' && !isAuthenticated) { return next('/login') } // 需要认证但未登录 → 跳转登录页 if (to.meta.requiresAuth && !isAuthenticated) { return next('/login') } // 已登录但访问登录页 → 跳转首页 if (to.path === '/login' && isAuthenticated) { return next('/') } next() }) export default router