import Vue from 'vue'; import Router from 'vue-router'; import store from './store' import tokenSvc from '@/common/token-service'; import HubwebLayout from './views/HubwebLayout.vue'; import loginRoutes from './modules/login/router'; import custRoutes from './modules/custMgt/router'; import authRoutes from './modules/sysMgt/router'; import subsList from './modules/custMgt/views/SubsList'; import channelRoutes from './modules/attractMgt/router'; import rejectRoutes from './modules/servMgt/router'; import clacRoutes from './modules/calculate/router'; import templtRoutes from './modules/channelMgt/router'; import profileRoutes from './modules/sendNumMgt/router'; import mntrngRoutes from './modules/mntrng/router'; import riskmgtRoutes from './modules/riskMgt/router'; import monthRoutes from './modules/stats/router'; Vue.use(Router) const router = new Router({ mode: 'history', base: process.env.BASE_URL, routes: [ { path: '/', component: HubwebLayout, children: [ { path: '', component: subsList }, { path: '/view/error/404', component: () => import('./views/ErrorPage404.vue'), meta: { public: false } }, { path: '/view/error/500', component: () => import('./views/ErrorPage500.vue'), meta: { public: true } }, ...loginRoutes, ...custRoutes, ...authRoutes, ...channelRoutes, ...rejectRoutes, ...clacRoutes, ...templtRoutes, ...profileRoutes, ...mntrngRoutes, ...riskmgtRoutes, ...monthRoutes, //{path: '*', name: 'error404'} ] }, //{path: '*', redirect: '/view/error/404'} ] }); router.beforeEach((to, from, next) => { const isPublic = to.matched.some(record => record.meta.public); const loggedIn = !!tokenSvc.getToken(); if (!isPublic && !loggedIn) { return next('/login'); }else{ var nextUrl = to.fullPath; var fromUrl = from.fullPath; var menuUrls = store.getters['login/getMenuUrls']; if(menuUrls.length > 0){ var moveFlag = false; for(var i=0; i { if (record.meta.usingSearchCondition) { const shareList = record.meta.shareList; if (from.name && shareList && shareList.includes(from.name)) { // shareList에 포함되어 있는 라우터에서 온 경우 검색 조건을 유지한다. } else { // 그 외의 경우 검색 조건 초기화 store.commit("searchcondition/updateSearchCondition", null); } } next(); }); }); export default router;