index.js 3.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. import Vue from 'vue'
  2. import Router from 'vue-router'
  3. Vue.use(Router)
  4. /* Layout */
  5. import Layout from '@/views/layout/Layout'
  6. import role from './modules/role'
  7. import article from './modules/article'
  8. import member from './modules/member'
  9. import org from './modules/org'
  10. import system from './modules/system';
  11. /** note: submenu only apppear when children.length>=1
  12. * detail see https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
  13. **/
  14. /**
  15. * hidden: true if `hidden:true` will not show in the sidebar(default is false)
  16. * alwaysShow: true if set true, will always show the root menu, whatever its child routes length
  17. // 详见 xt_permission.xt_filterAsyncRouter 函数的逻辑
  18. is_menu: false 加载路由时验证用的(即该路由是否要在侧边栏展示,需要展示的即需要),为 false 时表示该路由不需要进行权限验证
  19. * if not set alwaysShow, only more than one route under the children
  20. * it will becomes nested mode, otherwise not show the root menu
  21. * redirect: noredirect if `redirect:noredirect` will no redirct in the breadcrumb
  22. * name:'router-name' the name is used by <keep-alive> (must set!!!)
  23. * meta : {
  24. title: 'title' the name show in submenu and breadcrumb (recommend set)
  25. icon: 'svg-name' the icon show in the sidebar,
  26. noCache: true if true ,the page will no be cached(default is false)
  27. // 详见 xt_permission.xt_filterAsyncRouter 函数的逻辑
  28. is_menu: false 加载路由时验证用的,为 false 时表示该路由不需要进行权限验证
  29. hidden: false 加载路由时验证用的,is_menu 为true时才有作用,为 true 时表示该路由需要进行权限验证
  30. }
  31. **/
  32. var _constant_router_map = [{
  33. path: '/token/verify',
  34. component: () => import('@/scrm_pages/index/verify_token'),
  35. hidden: true
  36. },
  37. {
  38. path: '/404',
  39. component: () => import('@/views/errorPage/404'),
  40. hidden: true
  41. },
  42. {
  43. path: '/401',
  44. component: () => import('@/views/errorPage/401'),
  45. hidden: true
  46. },
  47. {
  48. path: '',
  49. component: Layout,
  50. redirect: '/home',
  51. children: [{
  52. path: '/home',
  53. component: () => import('@/scrm_pages/home/index'),
  54. name: 'home',
  55. meta: {
  56. title: 'home',
  57. icon: 'dashboard',
  58. noCache: true
  59. }
  60. }]
  61. }
  62. // service
  63. ]
  64. var _asy_router_map = [
  65. member,
  66. article,
  67. org,
  68. role,
  69. system
  70. ]
  71. var is_asy_router = process.env.NODE_ENV === 'production' // true; 设置为 true 强制进行路由验证
  72. if (!is_asy_router) {
  73. _constant_router_map = _constant_router_map.concat(_asy_router_map)
  74. _asy_router_map = []
  75. } else {
  76. }
  77. export const xt_constantRouterMap = _constant_router_map
  78. export const xt_asyncRouterMap = _asy_router_map
  79. export default new Router({
  80. // mode: 'history', // require service support
  81. scrollBehavior: () => ({
  82. y: 0
  83. }),
  84. routes: xt_constantRouterMap
  85. })