import { createRouter, createWebHistory } from 'vue-router' import { useAdminStore } from '@/stores/admin' // 首页请柬为全屏自包含页面,不套用通用布局 const routes = [ { path: '/', name: 'Home', component: () => import('@/views/index/index.vue'), }, { path: '/login', name: 'Login', component: () => import('@/views/admin/AdminLogin.vue'), }, { path: '/admin', name: 'Admin', component: () => import('@/views/admin/AdminEditor.vue'), meta: { requiresAuth: true }, }, ] const router = createRouter({ history: createWebHistory(), routes, scrollBehavior() { return { top: 0 } }, }) router.beforeEach((to) => { const adminStore = useAdminStore() if (to.meta.requiresAuth && !adminStore.isAdmin) { return { name: 'Login', query: { redirect: to.fullPath } } } }) export default router