index.ts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. import { createRouter, createWebHistory, RouteRecordRaw,createWebHashHistory,Router } from 'vue-router'
  2. import Layout from "@/layout/index.vue";
  3. // 扩展继承属性
  4. interface extendRoute {
  5. hidden?:boolean
  6. }
  7. //
  8. import tableRouter from './modules/table'
  9. import dataScreenRouter from './modules/dataScreen'
  10. import excelRouter from './modules/excel'
  11. import nestedRouter from './modules/nested'
  12. import systemRouter from './modules/system'
  13. import echartsRouter from './modules/echarts'
  14. import chatRouter from './modules/chat'
  15. import othersRouter from './modules/other'
  16. import externalLink from './modules/externalLink'
  17. import formRouter from './modules/form'
  18. import functionPageRouter from './modules/functionPage'
  19. import playerInfo from './modules/player'
  20. import serverRouter from './modules/server'
  21. import operationRouter from './modules/operation'
  22. // 异步组件
  23. export const asyncRoutes = [
  24. // ...echartsRouter,
  25. // ...tableRouter,
  26. // ...formRouter,
  27. // ...othersRouter,
  28. // ...functionPageRouter,
  29. // ...chatRouter,
  30. // ...nestedRouter,
  31. // ...excelRouter,
  32. // ...externalLink,
  33. ...playerInfo,
  34. ...dataScreenRouter,
  35. ...systemRouter,
  36. ...serverRouter,
  37. ...operationRouter,
  38. ]
  39. /**
  40. * path ==> 路由路径
  41. * name ==> 路由名称
  42. * component ==> 路由组件
  43. * redirect ==> 路由重定向
  44. * alwaysShow ==> 如果设置为true,将始终显示根菜单,无论其子路由长度如何
  45. * hidden ==> 如果“hidden:true”不会显示在侧边栏中(默认值为false)
  46. * keepAlive ==> 设为true 缓存
  47. * meta ==> 路由元信息
  48. * meta.title ==> 路由标题
  49. * meta.icon ==> 菜单icon
  50. * meta.affix ==> 如果设置为true将会出现在 标签栏中
  51. * meta.breadcrumb ==> 如果设置为false,该项将隐藏在breadcrumb中(默认值为true)
  52. */
  53. export const constantRoutes: Array<RouteRecordRaw&extendRoute> = [
  54. {
  55. path: "/404",
  56. name: "404",
  57. component: () => import("@/views/errorPages/404.vue"),
  58. hidden:true,
  59. },
  60. {
  61. path: "/403",
  62. name: "403",
  63. component: () => import("@/views/errorPages/403.vue"),
  64. hidden:true,
  65. },
  66. {
  67. path: '/login',
  68. name: 'Login',
  69. component: () => import('@/views/login/index.vue'),
  70. hidden: true,
  71. meta: { title: '登录',}
  72. },
  73. {
  74. path: '/',
  75. name: 'layout',
  76. component: Layout,
  77. redirect: '/home',
  78. meta: { title: '首页', icon: 'House', },
  79. children: [
  80. {
  81. path: '/home',
  82. component: () => import('@/views/home/index.vue'),
  83. name: 'home',
  84. meta: { title: '首页', icon: 'House', affix: true ,role:['other']}
  85. },
  86. ]
  87. },
  88. ]
  89. /**
  90. * notFoundRouter(找不到路由)
  91. */
  92. export const notFoundRouter = {
  93. path: '/:pathMatch(.*)',
  94. name: "notFound",
  95. redirect: '/404'
  96. };
  97. const router = createRouter({
  98. // history: createWebHistory(process.env.BASE_URL), // history
  99. history: createWebHashHistory(), // hash
  100. routes:constantRoutes
  101. })
  102. export default router