index.js 2.9KB

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