12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import NProgress from 'nprogress'
- import '~src/styles/app/nprogress.scss'
- //路由插件
- import * as vueRouter from 'vue-router'
- import baseData from './modules/base'
- import { getRouterData } from './routers'
- //其它工具
- import { getToken } from 'hc-vue3-ui'
- import config from '~src/config/index'
- //设置路由数据
- const router = vueRouter.createRouter({
- history: vueRouter.createWebHashHistory(),
- routes: baseData,
- })
- //路由拦截
- router.beforeResolve(async (to) => {
- NProgress.start()
- /*const token = getToken(), auth = ['/login']
- if (auth.indexOf(to.path) !== -1) {
- return true
- } else if (!token) {
- return '/login'
- } else {
- const res = await getRouterData(to.name)
- if (res) {
- return true
- } else {
- return '/login'
- }
- }*/
- return true
- })
- router.afterEach((to) => {
- //根据当前跳转的路由设置显示在浏览器标签的title
- let pageTitle = to.meta['title'], title = config.title
- if (to.path !== '/') {
- window.document.title = pageTitle ? `${pageTitle} - ${title}` : title
- } else {
- window.document.title = title
- }
- window.scrollTo(0, 0)
- NProgress.done()
- })
- export function setupRouter(app) {
- app.use(router)
- return router
- }
- export default router
|