{"remainingRequest":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\jenkins\\workspace\\cssc-fvue\\src\\router.js","dependencies":[{"path":"D:\\jenkins\\workspace\\cssc-fvue\\src\\router.js","mtime":1667804639540},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\cssc-fvue\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import \"core-js/modules/es6.string.starts-with\";\nimport \"core-js/modules/es6.regexp.split\";\nimport \"core-js/modules/es6.regexp.search\";\nimport \"core-js/modules/es6.function.name\";\nimport \"core-js/modules/es6.regexp.replace\";\nimport _toConsumableArray from \"D:/jenkins/workspace/cssc-fvue/node_modules/@babel/runtime/helpers/esm/toConsumableArray\";\nimport Vue from 'vue';\nimport Router from 'vue-router';\nimport store from '@/store';\nimport Login from '@/views/Login.vue';\nimport NotFound from '@/views/NotFound.vue'; // import Home from '@/views/Home.vue'\n// import menuContent from '@/views/menuContent.vue'\n// import Statement from '@/views/Statement.vue'\n\nimport req from '@/request.js';\nimport htbComponent from '@/components/common/TabsComponent.vue'; //导入路由\n\nimport mainRouter from '@/module_router.js';\nVue.use(Router);\nvar router = new Router({\n mode: 'history',\n base: process.env.BASE_URL,\n routes: [{\n path: '/frontPlat',\n name: 'frontPlat',\n component: function component() {\n return import('@/components/layout/Layout');\n },\n children: [{\n // 个人中心\n path: 'PersonalInfo',\n name: 'PersonalInfo',\n component: function component() {\n return import('@/views/PersonalInfo.vue');\n },\n meta: {\n isHome: true,\n single: true\n }\n }, {\n //系统首页\n path: 'frontIndex',\n name: 'frontIndex',\n component: function component() {\n return import('@/views/SysIndex.vue');\n },\n meta: {\n isHome: true,\n single: true\n }\n }].concat(_toConsumableArray(mainRouter))\n }, {\n path: '/',\n redirect: {\n name: 'frontIndex'\n }\n }, {\n path: '/login/:tenant',\n name: 'loginTenant',\n props: true,\n component: Login,\n meta: {\n single: true,\n anonymous: true\n }\n }, {\n path: '/login',\n name: 'login',\n component: Login,\n meta: {\n single: true,\n anonymous: true\n }\n }, {\n path: '/CrewIndex',\n name: 'CrewIndex',\n component: function component() {\n return import('@/views/CrewIndex.vue');\n },\n meta: {\n single: true,\n anonymous: true\n }\n }, {\n path: '/resetPwdView',\n name: 'resetPwdView',\n props: true,\n component: function component() {\n return import('@/views/ResetPwdView.vue');\n },\n meta: {\n single: true,\n anonymous: true\n }\n }]\n});\n\nvar createRouter = function createRouter() {\n return new Router({\n mode: 'history',\n routes: []\n });\n}; //重写动态添加路由方法\n\n\nrouter.$addRoutes = function (params) {\n var newRouter = createRouter();\n router.matcher = newRouter.matcher; //重置路由规则\n\n router.addRoutes(params); // 添加路由\n}; //动态新增二级路由\n\n\nrouter.addList = function (path, list) {\n var isAddPath = false;\n var isChildren = false;\n\n for (var i = 0; i < list.length; i++) {\n //判断当前点击菜单的路由别名是否存在 router.js 里面\n if (path == list[i].path) {\n //存在\n //动态注册路由\n var index = path.replace('/', '');\n var templatePreview_new = {\n path: 'template/preview/:templateKey',\n name: 'templatePreview_' + index,\n props: true,\n component: function component(resolve) {\n return require(['@/components/dataTemplate/templatePreview.vue'], resolve);\n }\n }; //数据报表\n\n var templateHref_new = {\n path: 'href/template/:alias',\n name: 'templateHref_' + index,\n props: true,\n component: function component(resolve) {\n return require(['@/components/dataTemplate/templateHref.vue'], resolve);\n }\n }; //URL菜单\n\n var querySql_new = {\n path: 'querySql/queryView/:sqlAlias/:alias',\n name: 'querySql_' + index,\n props: true,\n component: function component(resolve) {\n return require(['@/components/querySql/querySqlContent.vue'], resolve);\n }\n }; //自定义视图\n\n var template_new = {\n path: 'template/form/:templateKey/:action',\n name: 'template_' + index,\n props: true,\n component: function component(resolve) {\n return require(['@/components/dataTemplate/templateForm.vue'], resolve);\n }\n }; //数据报表\n\n var draftList_new = {\n path: 'draftList/:tempAlias/:dataViewFlag',\n name: 'template_' + index,\n props: true,\n component: function component(resolve) {\n return require(['@/components/dataTemplate/TemplateDraft.vue'], resolve);\n }\n }; //数据报表\n\n var templateSingle_new = {\n path: 'template/form/:templateKey/:action/:single',\n name: 'templateSingle_' + index,\n props: true,\n component: function component(resolve) {\n return require(['@/components/dataTemplate/templateForm.vue'], resolve);\n }\n }; //数据报表\n\n var templateQuerys_new = {\n path: 'template/preview/:templateKey/:single/:parameterqQuerys',\n name: 'templateQuerys_' + index,\n props: true,\n component: function component(resolve) {\n return require(['@/components/dataTemplate/templatePreview.vue'], resolve);\n }\n }; //数据报表\n\n if (list[i].children) {\n //判断是否重复添加路由\n for (var j = 0; j < list[i].children.length; j++) {\n var children = list[i].children[j];\n\n if (children.name == templatePreview_new.name) {\n isAddPath = true; // true : 重复路由\n\n break;\n }\n }\n\n if (!isAddPath) {\n list[i].children.push(templatePreview_new);\n list[i].children.push(templateHref_new);\n list[i].children.push(querySql_new);\n list[i].children.push(template_new);\n list[i].children.push(templateSingle_new);\n list[i].children.push(templateQuerys_new);\n list[i].children.push(draftList_new);\n router.$addRoutes(list);\n }\n\n isChildren = true;\n break;\n } else isChildren = true;\n }\n }\n\n return isChildren;\n};\n\nvar registerRouteFresh = true;\n\nvar ssoRedirect = function ssoRedirect() {\n if (window.ssoConfig.mode == 'cas') {\n var service = window.location.href;\n localStorage.setItem('service', service);\n window.location.href = window.ssoConfig.url + '?service=' + service;\n } else if (window.ssoConfig.mode == 'oauth') {\n if (!window.ssoConfig.clientId) {\n throw 'oauth模式下必须提供clientId';\n }\n\n var _service = window.location.href;\n localStorage.setItem('service', _service);\n window.location.href = \"\".concat(window.ssoConfig.url, \"?response_type=code&client_id=\").concat(window.ssoConfig.clientId, \"&redirect_uri=\").concat(_service);\n }\n};\n\nvar handelShortUrl = function handelShortUrl(to, from, next) {\n req.get('${portal}/portal/shorturlManage/v1/getLongUrlByShortUrl?shortUrl=' + to.fullPath.substr(1), '', false).then(function (resp) {\n if (resp && resp.data && resp.data.state) {\n store.dispatch('login/validAndCompletedCurrent', resp.data.value.guestToken).then(function () {\n next({\n path: resp.data.value.url\n });\n }).catch(function () {\n logoutAndCleanUp(to, from, next);\n });\n } else {\n next({\n path: '/messageFillPage/' + resp.data.message\n });\n }\n }).catch(function () {\n logoutAndCleanUp(to, from, next);\n });\n};\n\nvar logoutAndCleanUp = function logoutAndCleanUp(to, from, next) {\n store.dispatch('login/logoutAndCleanUp').then(function () {\n if (window.ssoConfig.mode && window.ssoConfig.mode != 'jwt' && !ticket) {\n ssoRedirect();\n } else if (!window.ssoConfig.mode || window.ssoConfig.mode == 'jwt') {\n next({\n path: '/login',\n query: {\n redirect: to.fullPath\n }\n });\n } else {\n throw '登录失败';\n }\n });\n}; // 移除url后面的指定参数\n\n\nvar removeUrlParams = function removeUrlParams(param) {\n var query = window.location.search.substring(1);\n\n if (!query) {\n return;\n }\n\n var vars = query.split('&');\n var newVars = [];\n\n for (var i = 0; i < vars.length; i++) {\n var pair = vars[i].split('=');\n\n if (pair[0] != param) {\n newVars.push(vars[i]);\n }\n }\n\n setTimeout(function () {\n var path = \"\".concat(window.location.pathname).concat(newVars.length > 0 ? '?' : '').concat(newVars.join('&'));\n window.history.replaceState(null, null, path);\n }, 1000);\n};\n\nrouter.beforeEach(function (to, from, next) {\n store.dispatch('menu/getAllmenus', {}).then(function (menus) {\n //href菜单不进这段代码\n if (to.fullPath.indexOf('href') == -1) {\n var alias = to.fullPath.split('/')[1];\n\n for (var i = 0; i < menus.length; i++) {\n if (menus[i].alias === alias) {\n store.dispatch('menu/getCurrentMenu', {\n alias: menus[i].alias,\n name: menus[i].name\n });\n break;\n }\n }\n }\n });\n\n if (to.fullPath.startsWith('/surl/')) {\n handelShortUrl(to, from, next);\n return;\n } // 1.当前为单点登录模式,且要路由到login页面,则做单点登录重定向;\n\n\n if (to.name == 'login' && window.ssoConfig.mode && window.ssoConfig.mode != 'jwt') {\n // 单点登录时如果已经携带了code或者ticket时,如果是/login路径需要跳转到默认页面(解决反复跳转的问题)\n if ((window.ssoConfig.mode == 'cas' || window.ssoConfig.mode == 'oauth') && (to.query.code || to.query.ticket)) {\n window.location.href = window.location.href.replace('/login', '');\n return;\n } else {\n ssoRedirect();\n }\n }\n\n if (from.name != 'defStart' || to.name != 'instStart') {\n sessionStorage.removeItem('formImportTempRefId');\n sessionStorage.removeItem('formImportTempJson');\n }\n\n if (sessionStorage.menu_alias && to.fullPath && to.fullPath.split('/')[1] == 'home') {\n sessionStorage.menu_alias = '';\n }\n\n if (to.matched.some(function (record) {\n return !record.meta.anonymous;\n })) {\n var _ticket = to.query.token; // 2.当前已经从单点页面重定向回来了,且在url地址中携带了ticket或code;\n\n if (window.ssoConfig.mode == 'cas') {\n _ticket = to.query.ticket;\n } else if (window.ssoConfig.mode == 'oauth') {\n _ticket = to.query.code;\n }\n\n store // 3.携带ticket做用户鉴权;\n .dispatch('login/validAndCompletedCurrent', _ticket).then(function () {\n store._vm.$root.$emit('login-completed');\n\n if (registerRouteFresh) {\n if (sessionStorage.menu_alias) {\n var path = '/' + sessionStorage.menu_alias;\n var isChildren = router.addList(path, router.options.routes); //动态新增二级路由\n //当前点击菜单的路由别名不存在 router.js 里面\n // if (!isChildren) {\n // let alias_new = {\n // path: path,\n // name: 'alias_new',\n // component: resolve =>\n // require(['@/views/menuContent.vue'], resolve),\n // children: []\n // }\n // router.options.routes.push(alias_new)\n // router.addList(path, router.options.routes) //动态新增二级路由\n // }\n\n router.replace({\n path: to.path,\n query: to.query\n });\n }\n\n registerRouteFresh = false;\n }\n\n next(); // url地址带token的方式认证成功后删除url中的token\n\n removeUrlParams('token');\n }).catch(function () {\n // 4.鉴权失败时根据当前模式重定向到对应页面。\n logoutAndCleanUp(to, from, next);\n });\n } else {\n next();\n }\n});\nexport default router;",null]}