router.js 982 B

12345678910111213141516171819202122232425262728293031323334
  1. import { isCtrlPress } from '@/utils/keyboard'
  2. export default ({ app, store, redirect, $cookies }) => {
  3. app.router.beforeEach((to, from, next) => {
  4. // 在每次路由跳转的时候进行判断
  5. if (isCtrlPress()) {
  6. // 若是 ctrl 按键被按下,则以新窗口打开目标页面
  7. window.open(to.fullPath)
  8. // 并阻止当前页面的跳转
  9. return next(false)
  10. }
  11. let token = ''
  12. let userInfo = ''
  13. // console.log($cookies.get('can-use-cookie'), 'can use cookie')
  14. // console.log($cookies.get('token'), 'token')
  15. if ($cookies.get('can-use-cookie')) {
  16. token = $cookies.get('token')
  17. userInfo = $cookies.get('user-info')
  18. }
  19. if (token) {
  20. // console.log('set status')
  21. if (userInfo) {
  22. store.commit('setUserInfo', userInfo)
  23. } else {
  24. store.dispatch('getUserInfo')
  25. }
  26. } else {
  27. // console.log('remove status')
  28. store.commit('clearUserInfo')
  29. }
  30. next()
  31. })
  32. }