defaultRoute.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import Routes from './routes'
  2. import Layout from '../layout'
  3. function mapASyncRoutes (data) {
  4. return data.map(item => {
  5. // if (!item.redirect) {
  6. // item.redirect = undefined
  7. // }
  8. item.component = item.component === 'Layout' ? Layout : loadView(item.component)
  9. if (item.children && item.children.length > 0) {
  10. item.children = mapASyncRoutes(item.children)
  11. }
  12. return item
  13. })
  14. }
  15. // 路由插件
  16. function loadView (view) {
  17. return !view ? { render: (c) => c('router-view') } : () => import(`@/views/${view}`)
  18. }
  19. const base = [
  20. {
  21. path: '/login-local',
  22. name: 'login',
  23. meta: { title: '登录' },
  24. component: () => import('@/views/login')
  25. },
  26. {
  27. path: '/signAgain',
  28. name: 'signAgain',
  29. meta: { title: '重新登录', noLogin: true },
  30. component: () => import('@/views/login/signAgain')
  31. },
  32. {
  33. path: '/reminder',
  34. name: 'reminder',
  35. meta: { title: '退出登录', noLogin: true },
  36. component: () => import('@/views/login/reminder')
  37. },
  38. {
  39. path: '/update',
  40. name: 'systemUpdate',
  41. meta: { title: '系统更新', noLogin: true },
  42. component: () => import('@/views/systemManage/update')
  43. },
  44. {
  45. path: '/404',
  46. name: '404',
  47. meta: { title: '404' },
  48. hidden: true,
  49. component: () => import('@/views/systemManage/error/404')
  50. }
  51. ]
  52. export default [...base, { path: '/', redirect: '/home' }, ...mapASyncRoutes(Routes.routes), { path: '*', redirect: '/404', hidden: true }]