index.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import Vue from 'vue'
  2. import VueRouter from 'vue-router'
  3. import Login from '../components/Login.vue'
  4. import Home from '../components/Home.vue'
  5. import Welcome from '../components/Welcome.vue'
  6. import Users from '../components/user/Users.vue'
  7. Vue.use(VueRouter)
  8. const routes = [
  9. {
  10. path: '/',
  11. redirect: '/login'
  12. },
  13. {
  14. path: '/login',
  15. name: 'Login',
  16. component: Login
  17. },
  18. {
  19. path: '/home',
  20. name: 'Home',
  21. component: Home,
  22. redirect: '/welcome',
  23. children: [
  24. {
  25. path: '/welcome',
  26. component: Welcome
  27. },
  28. {
  29. path: '/users',
  30. component: Users
  31. }
  32. ]
  33. }
  34. ]
  35. const router = new VueRouter({
  36. routes
  37. })
  38. // 路由导航守卫
  39. /**
  40. * to 将要访问的路径
  41. * from 代表从哪个路径跳转而来
  42. * next 是一个函数,表示放行
  43. */
  44. router.beforeEach((to, from, next) => {
  45. if (to.path === '/login') return next()
  46. // 获取token
  47. const token = window.sessionStorage.getItem('token')
  48. if (!token) {
  49. return next('/login')
  50. }
  51. next()
  52. })
  53. export default router