123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router'
- import type { App } from 'vue'
- // module routers
- import { getModuleRoutes, getModuleViewComponents } from './constantRoutes'
- const moduleRoutes = getModuleRoutes()
- getModuleViewComponents()
- export const constantRoutes: RouteRecordRaw[] = [
- {
- path: '/dashboard',
- component: () => import('/admin/layout/index.vue'),
- children: [
- {
- path: '',
- name: 'Dashboard',
- meta: { title: 'Dashboard', icon: 'home', hidden: false },
- component: () => import('/admin/views/dashboard/index.vue'),
- },
- ],
- },
- ]
- // @ts-ignore
- .concat(moduleRoutes)
- // default routes, it will not change to menus
- const defaultRoutes: RouteRecordRaw[] = [
- {
- path: '/',
- name: '/',
- component: () => import('/admin/layout/index.vue'),
- redirect: '/dashboard',
- children: [
- {
- path: '/404',
- name: '404',
- meta: { title: '404' },
- component: () => import('/admin/components/404/index.vue'),
- },
- ],
- },
- {
- path: '/login',
- name: 'login',
- meta: { title: '登录' },
- component: () => import('/admin/views/login/index.vue'),
- }
- ]
- const routes = constantRoutes.concat(defaultRoutes)
- const router = createRouter({
- history: createWebHashHistory(),
- routes,
- // 路由滚动
- scrollBehavior(to, from, savedPosition) {
- return savedPosition || { top: 0, behavior: 'smooth' }
- },
- })
- export function bootstrapRouter(app: App) {
- app.use(router)
- }
- export default router
|