index.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import NProgress from 'nprogress'
  2. import '~src/styles/app/nprogress.scss'
  3. //路由插件
  4. import * as vueRouter from 'vue-router'
  5. import baseData from './modules/base'
  6. import { getRouterData } from './routers'
  7. //其它工具
  8. import { getToken } from 'hc-vue3-ui'
  9. import config from '~src/config/index'
  10. //设置路由数据
  11. const router = vueRouter.createRouter({
  12. history: vueRouter.createWebHashHistory(),
  13. routes: baseData,
  14. })
  15. //路由拦截
  16. router.beforeResolve(async (to) => {
  17. NProgress.start()
  18. /*const token = getToken(), auth = ['/login']
  19. if (auth.indexOf(to.path) !== -1) {
  20. return true
  21. } else if (!token) {
  22. return '/login'
  23. } else {
  24. const res = await getRouterData(to.name)
  25. if (res) {
  26. return true
  27. } else {
  28. return '/login'
  29. }
  30. }*/
  31. return true
  32. })
  33. router.afterEach((to) => {
  34. //根据当前跳转的路由设置显示在浏览器标签的title
  35. let pageTitle = to.meta['title'], title = config.title
  36. if (to.path !== '/') {
  37. window.document.title = pageTitle ? `${pageTitle} - ${title}` : title
  38. } else {
  39. window.document.title = title
  40. }
  41. window.scrollTo(0, 0)
  42. NProgress.done()
  43. })
  44. export function setupRouter(app) {
  45. app.use(router)
  46. return router
  47. }
  48. export default router