ry-vue-map
Version:
ry公共组件库
88 lines (80 loc) • 1.74 kB
JavaScript
/**
* 路由配置
*/
import Vue from 'vue';
import VueRouter from 'vue-router';
import NProgress from 'nprogress';
Vue.use(VueRouter);
// 静态路由
const routes = [
{
path: '/',
component: () => import('@/views/map'),
// component: () => import('@/views/vectorMap'),
meta: { title: '地图' }
},
{
path: '/staticMap',
component: () => import('@/views/staticMap'),
meta: { title: '室内地图' }
},
{
path: '/excel',
component: () => import('@/views/excel'),
meta: { title: 'excel' }
},
{
path: '/tree',
component: () => import('@/views/tree'),
meta: { title: 'tree' }
},
{
path: '/pdf',
component: () => import('@/views/pdf'),
meta: { title: 'pdf' }
},
{
path: '/docx',
component: () => import('@/views/docx'),
meta: { title: 'docx' }
},
{
path: '/vectorMap',
component: () => import('@/views/vectorMap'),
meta: { title: '地图' }
},
{
path: '*',
component: () => import('@/views/map'),
}
];
const router = new VueRouter({
routes,
mode: 'history'
});
/* 更新浏览器标题方法 */
const updateTitle = function (route) {
if (!route?.path?.startsWith('/redirect/')) {
const names = [];
if (route?.meta?.title) {
names.push(route.meta.title);
}
const appName = process.env.VUE_APP_NAME;
if (appName) {
names.push(appName);
}
document.title = names.join(' - ');
}
};
// 路由守卫
router.beforeEach((to, from, next) => {
NProgress.start();
updateTitle(to);
next();
});
router.afterEach(() => {
setTimeout(() => {
NProgress.done(true);
}, 300);
});
export default router;