index.js 767 B

123456789101112131415161718192021222324252627282930313233
  1. import {
  2. createRouter,
  3. createWebHashHistory
  4. } from 'vue-router'
  5. import {
  6. useUserStore
  7. } from '@/store'
  8. const routes = [{
  9. path: '/',
  10. name: 'Home',
  11. component: () => import('../views/Home.vue')
  12. }, {
  13. path: '/aichat/:id',
  14. name: 'AIChat',
  15. component: () => import('../views/AIChat.vue')
  16. }, {
  17. path: '/Projects',
  18. name: 'Projects',
  19. component: () => import('../views/Projects.vue')
  20. }]
  21. const router = createRouter({
  22. history: createWebHashHistory(import.meta.env.BASE_URL),
  23. routes
  24. })
  25. router.beforeEach((to) => {
  26. // 如果没有token, 且访问的是非登录页,拦截到登录,其他情况正常放行
  27. const userStore = useUserStore()
  28. if (!userStore.token && to.path !== '/') return '/'
  29. return true
  30. })
  31. export default router