index.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. import { createRouter, createWebHistory } from 'vue-router'
  2. import { getToken } from '@/utils/auth'
  3. const routes = [
  4. {
  5. path: '/login',
  6. name: 'login',
  7. component: () => import('@/views/LoginView.vue'),
  8. meta: { hideLayout: true }
  9. },
  10. {
  11. path: '/',
  12. name: 'home',
  13. component: () => import('@/views/MarketingView.vue')
  14. },
  15. {
  16. path: '/prospect',
  17. name: 'prospect',
  18. component: () => import('@/views/ProspectView.vue')
  19. },
  20. {
  21. path: '/marketing',
  22. name: 'marketing',
  23. component: () => import('@/views/MarketingView.vue')
  24. },
  25. {
  26. path: '/customers',
  27. name: 'customers',
  28. component: () => import('@/views/CustomersView.vue')
  29. },
  30. {
  31. path: '/opportunities',
  32. name: 'opportunities',
  33. component: () => import('@/views/OpportunitiesView.vue')
  34. },
  35. {
  36. path: '/orders',
  37. name: 'orders',
  38. component: () => import('@/views/OrdersView.vue')
  39. },
  40. {
  41. path: '/analysis',
  42. name: 'analysis',
  43. component: () => import('@/views/AnalysisView.vue')
  44. },
  45. {
  46. path: '/market',
  47. name: 'market',
  48. component: () => import('@/views/MarketView.vue')
  49. },
  50. {
  51. path: '/strategy',
  52. name: 'strategy',
  53. component: () => import('@/views/StrategyView.vue')
  54. },
  55. {
  56. path: '/risk',
  57. name: 'risk',
  58. component: () => import('@/views/RiskView.vue')
  59. },
  60. {
  61. path: '/knowledge',
  62. name: 'knowledge',
  63. component: () => import('@/views/KnowledgeView.vue')
  64. },
  65. {
  66. path: '/settings',
  67. name: 'settings',
  68. component: () => import('@/views/SettingsView.vue')
  69. }
  70. ]
  71. const router = createRouter({
  72. history: createWebHistory(import.meta.env.BASE_URL),
  73. routes
  74. })
  75. router.beforeEach((to, from, next) => {
  76. const token = getToken()
  77. if (to.path === '/login') {
  78. if (token) {
  79. return next({ path: '/' })
  80. }
  81. return next()
  82. }
  83. if (!token) {
  84. return next({ path: '/login', replace: true })
  85. }
  86. next()
  87. })
  88. export default router