index.js 872 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import * as vueRouter from 'vue-router'
  2. import baseData from './routers'
  3. import NProgress from 'nprogress'
  4. import '~src/styles/app/nprogress.scss'
  5. import { getToken } from 'hc-vue3-ui'
  6. //设置路由数据
  7. const router = vueRouter.createRouter({
  8. history: vueRouter.createWebHashHistory(),
  9. routes: baseData,
  10. })
  11. //路由拦截
  12. router.beforeResolve(async (to) => {
  13. NProgress.start()
  14. const token = getToken()
  15. if (to.path === 'login') {
  16. return true
  17. } else if (!token) {
  18. return '/login'
  19. } else {
  20. return true
  21. }
  22. })
  23. router.afterEach((to) => {
  24. if (to.path !== '/') {
  25. window.document.title = to.meta['title']
  26. } else {
  27. window.document.title = ''
  28. }
  29. window.scrollTo(0, 0)
  30. NProgress.done()
  31. })
  32. export function setupRouter(app) {
  33. app.use(router)
  34. return router
  35. }
  36. export default router