| 123456789101112131415161718192021222324252627282930313233343536 |
- 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
|