import { createRouter } from 'vue-router' import * as vueRouter from 'vue-router' import navStore from '../store/nav.js' import keepAliveStore from '../store/keepAlive.js' import generatedRoutes from '~pages' import { setupLayouts } from 'layouts-generated' // 导出路由 const routes = setupLayouts(generatedRoutes) console.log(routes) const router = createRouter({ history: vueRouter.createWebHistory(), routes }) router.beforeEach((to, from, next) => { if (to.path !== '/login') { const nav = navStore() nav.updateMenu(to) } if (to.meta.keepAlive) { const keepAlive = keepAliveStore() keepAlive.add(to.name) // 将路由名称添加到 keepAlive 集合中 } if (to.path === '/') { const menu = { active: 0, subActive: 0 } localStorage.setItem('index', JSON.stringify(menu)) } if (to.matched.length) { next() } else { next('/404') } }) export default router