index.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import Vue from 'vue'
  2. import Router from 'vue-router'
  3. import permission from './modules/permission'
  4. import company from './modules/company'
  5. import project from './modules/project'
  6. import role from './modules/role'
  7. import user from './modules/user'
  8. import bparam from './modules/bparam'
  9. Vue.use(Router)
  10. /* Layout */
  11. import Layout from '@/layout'
  12. //动态路由表
  13. export const syncRoutes = [
  14. permission,
  15. company,
  16. role,
  17. project,
  18. user,
  19. bparam
  20. ]
  21. //静态路由表
  22. export const constantRoutes = [
  23. {
  24. path: '/',
  25. component: Layout,
  26. redirect: '/dashboard',
  27. children: [{
  28. path: 'dashboard',
  29. name: 'dashboard',
  30. component: () => import('@/views/dashboard/index'),
  31. meta: { title: '系统首页', icon: 'example' }
  32. }]
  33. },
  34. {
  35. path: '/login',
  36. component: () => import('@/views/login/index'),
  37. hidden: true
  38. },
  39. {
  40. path: '/register',
  41. component: () => import('@/views/login/register'),
  42. hidden: true
  43. },
  44. {
  45. path: '/404',
  46. component: () => import('@/views/404'),
  47. hidden: true
  48. },
  49. ]
  50. const createRouter = () => new Router({
  51. // mode: 'history', // require service support
  52. scrollBehavior: () => ({ y: 0 }),
  53. routes: [...constantRoutes, ...syncRoutes]
  54. })
  55. const router = createRouter()
  56. // Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
  57. export function resetRouter() {
  58. const newRouter = createRouter()
  59. router.matcher = newRouter.matcher // reset router
  60. }
  61. export default router