| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- import {
- createRouter,
- createWebHistory,
- RouteRecordRaw,
- createWebHashHistory,
- Router,
- } from 'vue-router'
- import Layout from '@/layout/index.vue'
- // 扩展继承属性
- interface extendRoute {
- hidden?: boolean
- }
- //
- import systemRouter from './modules/system'
- // 异步组件
- export const asyncRoutes = [...systemRouter]
- /**
- * path ==> 路由路径
- * name ==> 路由名称
- * component ==> 路由组件
- * redirect ==> 路由重定向
- * alwaysShow ==> 如果设置为true,将始终显示根菜单,无论其子路由长度如何
- * hidden ==> 如果“hidden:true”不会显示在侧边栏中(默认值为false)
- * keepAlive ==> 设为true 缓存
- * meta ==> 路由元信息
- * meta.title ==> 路由标题
- * meta.icon ==> 菜单icon
- * meta.affix ==> 如果设置为true将会出现在 标签栏中
- * meta.breadcrumb ==> 如果设置为false,该项将隐藏在breadcrumb中(默认值为true)
- * meta.activeMenu ==> 详情页的时候可以设置菜单高亮 ,高亮菜单的path
- */
- export const constantRoutes: Array<RouteRecordRaw & extendRoute> = [
- {
- path: '/404',
- name: '404',
- component: () => import('@/views/errorPages/404.vue'),
- hidden: true,
- },
- {
- path: '/403',
- name: '403',
- component: () => import('@/views/errorPages/403.vue'),
- hidden: true,
- },
- {
- path: '/login',
- name: 'login',
- component: () => import('@/views/login/User.vue'),
- hidden: true,
- redirect: '/signin',
- children: [
- {
- path: '/signin',
- name: 'SignIn',
- component: () => import('@/views/login/index.vue'),
- hidden: true,
- },
- {
- path: '/forget',
- name: 'Forget',
- component: () => import('@/views/login/Forget.vue'),
- hidden: true,
- },
- ],
- },
- {
- path: '/',
- name: 'layout',
- component: Layout,
- redirect: '/home',
- meta: { title: '首页', icon: 'House' },
- children: [
- {
- path: '/home',
- component: () => import('@/views/home/index.vue'),
- name: 'home',
- meta: { title: '首页', icon: 'House', affix: true, role: ['other'] },
- },
- ],
- },
- ]
- /**
- * notFoundRouter(找不到路由)
- */
- export const notFoundRouter = {
- path: '/:pathMatch(.*)',
- name: 'notFound',
- redirect: '/404',
- }
- const router = createRouter({
- // history: createWebHistory(process.env.BASE_URL), // history
- history: createWebHashHistory(), // hash
- routes: constantRoutes,
- })
- export default router
|