guard.js 778 B

12345678910111213141516171819202122232425
  1. import { AxiosWrapper } from '@/utils/axios-wrapper'
  2. import { checkResult } from '@/utils/checkResult'
  3. import { UserStore } from '@/store/user'
  4. export const registerBeforeRouter = (router) => {
  5. router.beforeEach(async (to, from, next) => {
  6. const userStore = UserStore()
  7. const axios = new AxiosWrapper()
  8. document.title = `${to.meta.title} `
  9. const token = localStorage.getItem('token')
  10. if (to.name != 'login') {
  11. if (token) {
  12. const result = await axios.get(`${import.meta.env.VITE_REQUEST_BASE}/token/tokenView`, null, {
  13. headers: {
  14. token: token
  15. }
  16. })
  17. if (checkResult(result)) {
  18. userStore.setUser(result.data)
  19. }
  20. next()
  21. } else next('/login')
  22. } else next()
  23. })
  24. }