index.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. import VueRouter from 'vue-router'
  2. import Vue from 'vue'
  3. import DiskRouter from './disk'
  4. import UserRouter from './user'
  5. import SearchRouter from './search'
  6. import BlogRouter from './blog'
  7. import VodRouter from './vod'
  8. import BackgroundDevopsRouter from './background_devops'
  9. import BackgroundAccountRouter from './background_account'
  10. import BackgroundMyRouter from './background_my'
  11. import BackgroundPostRouter from './background_post'
  12. import BackgroundSiteRouter from './background_site'
  13. import BackgroundAdminRouter from './background_admin'
  14. import BackgroundBackendRouter from './background_backend'
  15. import BackgroundOssRouter from './background_oss'
  16. import BackgroundBlogRouter from './background_blog'
  17. import BackgroundFileRouter from './background_file'
  18. // 懒加载引入页面组件,es6语法
  19. // ********************************************************************************************************************
  20. const Login = () => import('views/Login1')
  21. const Register = () => import('views/Register')
  22. const Forgot = () => import('views/Forgot')
  23. const Index = () => import('views/Index')
  24. const Background = () => import('views/admin/Background')
  25. const Dashboard = () => import('views/devops/Dashboard')
  26. // ********************************************************************************************************************
  27. // 使用安装路由插件
  28. Vue.use(VueRouter)
  29. export const constantRoutes = [
  30. DiskRouter,
  31. UserRouter,
  32. SearchRouter,
  33. BlogRouter,
  34. VodRouter,
  35. {
  36. path: '/',
  37. redirect: '/bg',
  38. name: 'Index',
  39. component: Index,
  40. meta: { needAuth: false }
  41. },
  42. {
  43. path: '/bg',
  44. name: 'BackgroundIndex',
  45. component: Background,
  46. meta: { needAuth: false },
  47. children: [
  48. {
  49. path: '',
  50. name: 'Dashboard',
  51. component: Dashboard,
  52. meta: { needAuth: true, roles: ['admin'] }
  53. }
  54. ]
  55. },
  56. {
  57. path: '/login',
  58. name: 'Login',
  59. component: Login,
  60. meta: { needAuth: false }
  61. },
  62. {
  63. path: '/register',
  64. name: 'Register',
  65. component: Register,
  66. meta: { needAuth: false }
  67. },
  68. {
  69. path: '/forgot',
  70. name: 'Forgot',
  71. component: Forgot,
  72. meta: { needAuth: false }
  73. }
  74. ]
  75. export const asyncRoutes = [
  76. BackgroundDevopsRouter,
  77. BackgroundAccountRouter,
  78. BackgroundMyRouter,
  79. BackgroundPostRouter,
  80. BackgroundSiteRouter,
  81. BackgroundAdminRouter,
  82. BackgroundBackendRouter,
  83. BackgroundOssRouter,
  84. BackgroundBlogRouter,
  85. BackgroundFileRouter,
  86. {
  87. path: '*',
  88. name: '404',
  89. component: () => import('@/views/404.vue'),
  90. meta: { needAuth: false }
  91. }
  92. ]
  93. // 创建路由对象并导出
  94. export default new VueRouter({
  95. mode: 'history',
  96. routes: constantRoutes,
  97. scrollBehavior(to, from, savedPosition) {
  98. return { x: 0, y: 0 }
  99. }
  100. })