{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\eslint-loader\\index.js??ref--13-0!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\router.js","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\router.js","mtime":1681988834614},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\eslint-loader\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["import \"core-js/modules/es6.string.starts-with\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.regexp.to-string\";\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/bzzgj-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';\nimport req from '@/request.js';\nimport uc from '@/api/uc.js';\nimport portal from '@/api/portal.js';\nimport { Message } from 'element-ui';\nimport routerMobile from '@/routerMobile.js'; // 移动端钉钉应用相关路由\n\nimport routerDevice from '@/routerDevice.js'; // 设备菜单相关路由\n\nimport routerDeviceLink from '@/routerDeviceLink.js'; // 设备菜单相关路由\n\nimport routerManage from '@/routerManage.js'; // 管理菜单相关路由\n\nimport routerManageLink from '@/routerManageLink.js'; // 管理菜单相关路由\n\nVue.use(Router);\nvar router = new Router({\n mode: 'history',\n base: process.env.BASE_URL,\n routes: [{\n path: '/'\n }, {\n path: '/login',\n name: 'login',\n component: Login,\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 path: '/dingTalk',\n name: 'dingTalk',\n props: true,\n component: function component() {\n return import('@/components/jump/dt_jump.vue');\n },\n meta: {\n single: true,\n anonymous: true\n }\n }, // threeJS 3DView\n {\n path: '/3DView',\n name: '3DView',\n component: function component() {\n return import('@/views/Device/3DView.vue');\n }\n }].concat(_toConsumableArray(routerMobile), _toConsumableArray(routerDeviceLink), _toConsumableArray(routerManageLink), [{\n path: '/frontPlat',\n name: 'frontPlat',\n component: function component() {\n return import('@/components/layout/Layout');\n },\n children: [].concat(_toConsumableArray(routerDevice), _toConsumableArray(routerManage), [// -----------------------流程相关隐藏-------------------------\n // {\n // path: '/formManage/:instId/:type',\n // name: 'formManage',\n // component: () => import('@/components/flow/formManage.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/home',\n // name: 'home',\n // component: Home,\n // meta: {\n // isHome: true\n // }\n // },\n // {\n // path: '/v-flow',\n // component: menuContent,\n // children: [{\n // path: '/',\n // name: 'todo-default',\n // redirect: 'v-todo'\n // },\n // {\n // path: 'v-todo',\n // name: 'todo',\n // component: () => import('@/components/flow/todo.vue')\n // },\n // {\n // path: 'v-todo/:orgName/:orgId',\n // name: 'todoByOrgId',\n // component: () => import('@/components/flow/todo.vue'),\n // props: true\n // },\n // {\n // path: 'v-leader',\n // name: 'leader',\n // component: () => import('@/components/flow/leaderTodo.vue')\n // },\n // {\n // path: 'v-todo/:defKey',\n // name: 'todo-defKey',\n // component: () => import('@/components/flow/todo.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: 'v-done',\n // name: 'done',\n // component: () => import('@/components/flow/done.vue')\n // },\n // {\n // path: 'v-done/:defKey',\n // name: 'done-defKey',\n // component: () => import('@/components/flow/done.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: 'v-request',\n // name: 'request',\n // component: () => import('@/components/flow/myRequest.vue')\n // },\n // {\n // path: 'v-request/:defKey',\n // name: 'request-defKey',\n // component: () => import('@/components/flow/myRequest.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: 'v-flowList',\n // name: 'flowList',\n // component: () => import('@/components/flow/flowList.vue')\n // },\n // {\n // path: 'v-todoRead',\n // name: 'todoRead',\n // component: () => import('@/components/flow/todoRead.vue')\n // },\n // {\n // path: 'v-todoRead/:defKey',\n // name: 'todoRead-defKey',\n // component: () => import('@/components/flow/todoRead.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: 'v-doneRead',\n // name: 'doneRead',\n // component: () => import('@/components/flow/doneRead.vue')\n // },\n // {\n // path: 'v-doneRead/:defKey',\n // name: 'doneRead-defKey',\n // component: () => import('@/components/flow/doneRead.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: 'v-myRead',\n // name: 'myRead',\n // component: () => import('@/components/flow/myRead.vue')\n // },\n // {\n // path: 'v-myRead/:defKey',\n // name: 'myRead-defKey',\n // component: () => import('@/components/flow/myRead.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: 'v-myDelegate',\n // name: 'myDelegate',\n // component: () => import('@/components/flow/myDelegate.vue')\n // },\n // {\n // path: 'v-myDelegate/:defKey',\n // name: 'myDelegate-defKey',\n // component: () => import('@/components/flow/myDelegate.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // }\n // ]\n // },\n // /* 跳转启动流程 */\n // {\n // path: '/agentStart/:defId/:leaderId',\n // name: 'defStart',\n // component: () => import('@/components/flow/start.vue'),\n // props: true\n // },\n // /*复制流程启动 */\n // {\n // path: '/agentStart/:defId/:leaderId/:copyInstId',\n // name: 'defCopyStart',\n // component: () => import('@/components/flow/start.vue'),\n // props: true\n // },\n // //根据流程定义key启动流程\n // {\n // path: '/agentStartByKey/:defKey',\n // name: 'defKeyStart',\n // component: () => import('@/components/flow/startByKey.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/sysModulePreview/:id/:appName',\n // name: 'sysModulePreview',\n // component: () => import('@/components/generator/sysModulePreview.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/start/:defId/:instId',\n // name: 'instStart',\n // component: () => import('@/components/flow/start.vue'),\n // props: true\n // },\n // /* 跳转任务详情 */\n // {\n // path: '/inst/:instId/:type',\n // name: 'inst',\n // component: () => import('@/components/flow/task.vue'),\n // props: true\n // },\n\n /* 待阅列表跳转 */\n // {\n // path: '/inst/:instId/:type/:readId',\n // name: 'instRead-read',\n // component: () => import('@/components/flow/task.vue'),\n // props: true\n // },\n // /* 模块开发代办跳转 */\n // {\n // path: '/sysModuleInst/:taskId/:leaderId/:defKey/:noSingle',\n // name: 'sysModuleInst',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // /* 数据报表模块开发代办跳转 */\n // {\n // path: '/reportModuleInst/:taskId/:leaderId/:defKey/:noSingle/:templateKey',\n // name: 'reportModuleInst',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // /* 模块开发已办列表跳转 */\n // {\n // path: '/sysModuleInst/:instId/:type/:defKey',\n // name: 'sysModuleInstJump',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // /* 数据报表模块开发已办列表跳转 */\n // {\n // path: '/reportModuleInstDone/:instId/:type/:defKey/:templateKey',\n // name: 'reportModuleInstDone',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // /* 状态为FOLLOW时候模块开发待阅跳转 */\n // {\n // path: '/sysModuleInstTaskRead/:taskId/:task_state/:defKey',\n // name: 'sysModuleInstTaskRead',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // /* 模块开发待阅跳转 */\n // {\n // path: '/sysModuleInstRead/:instId/:type/:readId/:defKey',\n // name: 'sysModuleInstReadJump',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // /* 状态为FOLLOW时候数据报表模块开发待阅跳转 */\n // {\n // path: '/reportModuleInstTaskRead/:taskId/:task_state/:defKey/:templateKey',\n // name: 'reportModuleInstTaskRead',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // /* 数据报表模块开发待阅跳转 */\n // {\n // path: '/reportModuleInstRead/:instId/:type/:readId/:defKey/:templateKey',\n // name: 'reportModuleInstRead',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // /* 模块开发已阅列表跳转 */\n // {\n // path: '/sysModuleInstDone/:instId/:type/:readType/:readDoneId/:defKey',\n // name: 'sysModuleInstDone',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // /* 数据报表模块开发已阅列表跳转 */\n // {\n // path: '/reportModuleInstDone/:instId/:type/:readType/:readDoneId/:defKey/:templateKey',\n // name: 'reportModuleInstDoneRead',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // /* 模块开发我传阅列表跳转 */\n // {\n // path: '/sysModuleInstMyRead/:instId/:readId/:myReadType/:defKey',\n // name: 'sysModuleInstMyRead',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // /* 数据报表模块开发我传阅列表跳转 */\n // {\n // path: '/reportModuleInstMyRead/:instId/:readId/:myReadType/:defKey/:templateKey',\n // name: 'reportModuleInstMyRead',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // //模块开发我传阅的列表跳转\n // {\n // path: '/sysModuleInstRead/:instId/:myReadType/:defKey',\n // name: 'sysModuleInstRead',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // //数据报表模块开发我传阅的列表跳转\n // {\n // path: '/reportModuleInstRead/:instId/:myReadType/:defKey/:templateKey',\n // name: 'reportModuleInstReadJump',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // /* 已阅列表跳转 */\n // {\n // path: '/inst/:instId/:type/:readType/:readDoneId',\n // name: 'instRead-done',\n // component: () => import('@/components/flow/task.vue'),\n // props: true\n // },\n // /* 我传阅的列表跳转 */\n // {\n // path: '/myRead/:instId/:readId/:myReadType',\n // name: 'myRead-type',\n // component: () => import('@/components/flow/task.vue'),\n // props: true\n // },\n // {\n // path: '/instRead/:instId/:myReadType',\n // name: 'instRead',\n // component: () => import('@/components/flow/task.vue'),\n // props: true\n // },\n // {\n // path: '/taskRead/:taskId/:task_state',\n // name: 'taskRead',\n // component: () => import('@/components/flow/task.vue'),\n // props: true\n // },\n // {\n // path: '/inst/:instId',\n // name: 'defaultInst',\n // component: () => import('@/components/flow/task.vue'),\n // props: true\n // },\n // // {\n // // path: '/task/:taskId/:leaderId',\n // // name: 'task',\n // // component: () => import('@/components/flow/task.vue'),\n // // props: true\n // // },\n // {\n // path: '/task/:taskId/:leaderId',\n // name: 'task',\n // component: () => import('@/components/flow/taskFlowComponents/flowTask.vue'),\n // props: true\n // },\n // /* 跳转任务详情 */\n // {\n // path: '/inst/:instId/:type',\n // name: 'inst',\n // component: () => import('@/components/flow/taskFlowComponents/flowTask.vue'),\n // props: true\n // },\n // {\n // path: '/task/:taskId/:leaderId/:noSingle',\n // name: 'taskNosingle',\n // component: () => import('@/components/flow/task.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // /* 邮箱页面开始 */\n // {\n // path: '/v-mail',\n // component: menuContent,\n // children: [{\n // path: '/',\n // name: 'mailList-default',\n // redirect: 'v-mailList'\n // },\n // {\n // path: 'v-mailList',\n // name: 'mailList',\n // component: () => import('@/components/mail/mailList.vue')\n // },\n // {\n // path: 'v-linkmanList',\n // name: 'linkmanList',\n // component: () => import('@/components/mail/mailLinkmanList.vue')\n // },\n // {\n // path: 'v-settingList',\n // name: 'settingList',\n // component: () => import('@/components/mail/mailSettingList.vue')\n // }\n // ]\n // },\n // {\n // path: '/mail/mailGet/:id',\n // name: 'mailGet',\n // component: () => import('@/components/mail/mailGet.vue'),\n // props: true\n // },\n // {\n // path: '/mail/mailAdd',\n // name: 'mailAdd',\n // component: () => import('@/components/mail/mailAdd.vue')\n // },\n // {\n // path: '/mail/mailEdit/:id',\n // name: 'mailEdit',\n // component: () => import('@/components/mail/mailEdit.vue'),\n // props: true\n // },\n // {\n // path: '/mail/linkmanEdit/:id',\n // name: 'mailLinkmanEdit',\n // component: () => import('@/components/mail/mailLinkmanEdit.vue'),\n // props: true\n // },\n // {\n // path: '/mail/linkmanGet/:id',\n // name: 'mailLinkmanGet',\n // component: () => import('@/components/mail/mailLinkmanGet.vue'),\n // props: true\n // },\n // {\n // path: '/mail/settingAdd',\n // name: 'mailSettingAdd',\n // component: () => import('@/components/mail/mailSettingAdd.vue')\n // },\n // {\n // path: '/mail/settingEdit/:id',\n // name: 'mailSettingEdit',\n // component: () => import('@/components/mail/mailSettingEdit.vue'),\n // props: true\n // },\n // {\n // path: '/mail/settingGet/:id',\n // name: 'mailSettingGet',\n // component: () => import('@/components/mail/mailSettingGet.vue'),\n // props: true\n // },\n // /* 邮箱页面结束*/\n // {\n // path: '/v-personal',\n // component: menuContent,\n // children: [{\n // path: '/',\n // name: 'approvalItem-default',\n // redirect: 'v-approvalItem'\n // },\n // {\n // path: 'v-approvalItem',\n // name: 'approvalItemList',\n // component: () =>\n // import('@/components/approvalItem/approvalItemList.vue')\n // },\n // {\n // path: 'v-agent',\n // name: 'agentList',\n // component: () => import('@/components/agent/agentList.vue')\n // },\n // {\n // path: 'v-secretary',\n // name: 'secretary',\n // component: () => import('@/components/secretary/secretaryList.vue')\n // },\n // {\n // path: 'v-bpmDeputy',\n // name: 'bpmDeputy',\n // component: () => import('@/components/bpmDeputy/bpmDeputyList.vue')\n // },\n // {\n // path: 'v-myLayout',\n // name: 'myLayout',\n // component: () => import('@/components/myLayout/myLayoutList.vue')\n // },\n // {\n // path: 'v-messageReceiver',\n // name: 'messageReceiverList',\n // component: () =>\n // import('@/components/message/messageReceiverList.vue')\n // }\n // ]\n // },\n // {\n // path: '/v-approvalItem',\n // name: 'approvalItem',\n // component: () => import('@/components/approvalItem/approvalItemList.vue'),\n // props: true\n // },\n // {\n // path: '/approvalItem/approvalItemEdit/:id',\n // name: 'approvalItemEdit',\n // component: () => import('@/components/approvalItem/approvalItemEdit.vue'),\n // props: true\n // },\n // {\n // path: '/approvalItem/approvalItemAdd',\n // name: 'approvalItemAdd',\n // component: () => import('@/components/approvalItem/approvalItemEdit.vue'),\n // props: true\n // },\n // {\n // path: '/approvalItem/approvalItemGet/:id',\n // name: 'approvalItemGet',\n // component: () => import('@/components/approvalItem/approvalItemGet.vue'),\n // props: true\n // },\n // {\n // path: '/v-agent',\n // name: 'agent',\n // component: () => import('@/components/agent/agentList.vue'),\n // props: true\n // },\n // {\n // path: '/agent/agentAdd',\n // name: 'agentAdd',\n // component: () => import('@/components/agent/agentAdd.vue'),\n // props: true\n // },\n // {\n // path: '/agent/agentEdit/:id',\n // name: 'agentEdit',\n // component: () => import('@/components/agent/agentEdit.vue'),\n // props: true\n // },\n // {\n // path: '/agent/agentGet/:id',\n // name: 'agentGet',\n // component: () => import('@/components/agent/agentGet.vue'),\n // props: true\n // },\n // {\n // path: '/secretary/secretaryEdit/:id',\n // name: 'secretaryEdit',\n // component: () => import('@/components/secretary/secretaryEdit.vue'),\n // props: true\n // },\n // {\n // path: 'v-bpmDeputy',\n // name: 'bpmDeputyList',\n // component: () => import('@/components/bpmDeputy/bpmDeputyList.vue'),\n // props: true\n // },\n // {\n // path: '/bpmDeputy/bpmDeputySetting/',\n // name: 'bpmDeputySetting',\n // component: () => import('@/components/bpmDeputy/bpmDeputySetting.vue'),\n // props: true\n // },\n // {\n // path: '/bpmDeputy/bpmDeputySetting/:id',\n // name: 'bpmDeputySetting-id',\n // component: () => import('@/components/bpmDeputy/bpmDeputySetting.vue'),\n // props: true\n // },\n // /* 跳转新闻动态列表 */\n // {\n // path: '/newsList/:type',\n // name: 'newsList',\n // component: () => import('@/components/news/newsList.vue'),\n // props: true\n // },\n // {\n // path: '/news/:newsId',\n // name: 'newsGet',\n // component: () => import('@/components/news/newsGet.vue'),\n // props: true\n // },\n // // 预览文件\n // {\n // path: '/pdf/:src/:fileId',\n // name: 'pdf',\n // component: () => import('@/components/common/pdf.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/iframeSrc/:iframeSrc/:fileId',\n // name: 'iframeSrc',\n // component: () => import('@/components/common/iframeSrc.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/previewForm/:formId',\n // name: 'previewForm',\n // component: () => import('@/components/common/previewForm.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/previewForm/:formId/:single',\n // name: 'previewForm-single',\n // component: () => import('@/components/common/previewForm.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/previewInstForm/:defId/:instId',\n // name: 'previewInstForm',\n // component: () => import('@/components/common/previewInstForm.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/QRCodeForm/:templateKey/:action',\n // name: 'QRCodeForm',\n // component: () => import('@/components/dataTemplate/QRCodeForm.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/statement',\n // name: 'statement',\n // component: Statement,\n // children: [{\n // path: '/',\n // name: 'template-default',\n // redirect: '/statement/draftList'\n // },\n // {\n // path: 'draftList/:tempAlias/:dataViewFlag',\n // name: 'templateDraftList',\n // component: () =>\n // import('@/components/dataTemplate/TemplateDraft.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/href/template/:alias',\n // name: 'templateHref',\n // component: () => import('@/components/dataTemplate/templateHref.vue'),\n // props: true\n // },\n // {\n // path: 'template/preview/:templateKey',\n // name: 'templatePreview',\n // component: () =>\n // import('@/components/dataTemplate/templatePreview.vue'),\n // props: true\n // },\n // {\n // path: 'template/preview/:templateKey/:single',\n // name: 'templatePreview-single',\n // component: () =>\n // import('@/components/dataTemplate/templatePreview.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: 'template/preview/:templateKey/:single/:parameterqQuerys',\n // name: 'templatePreview-singleQuerys',\n // component: () =>\n // import('@/components/dataTemplate/templatePreview.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: 'template/preview/:templateKey/:taskType/:defKey/:isJoinFlow',\n // component: () =>\n // import('@/components/dataTemplate/templatePreview.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: 'template/form/:templateKey/:action',\n // name: 'templateForm',\n // component: () => import('@/components/dataTemplate/templateForm.vue'),\n // props: true\n // },\n // {\n // path: 'template/form/:templateKey/:action/:single',\n // name: 'templateFormSingle',\n // component: () => import('@/components/dataTemplate/templateForm.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: 'template/form/:templateKey/:action/:single/:openType',\n // name: 'templateFormSingleOpenType',\n // component: () => import('@/components/dataTemplate/templateForm.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: 'template/form/:templateKey/:action/:single/:isShare',\n // name: 'templateShare',\n // component: () => import('@/components/dataTemplate/templateForm.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: 'querySql/queryView/:sqlAlias/:alias',\n // name: 'querySqlContent',\n // component: () => import('@/components/querySql/querySqlContent.vue'),\n // props: true\n // },\n // {\n // path: 'querySql/queryView/:sqlAlias/:alias/:single',\n // name: 'querySql-single',\n // component: () => import('@/components/querySql/querySqlContent.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // }\n // ]\n // },\n // {\n // path: '/sysModulePreview/statement', //用来区分是否是模块开发里面的表单列表\n // name: 'sysModulePreviewStatement',\n // component: Statement,\n // children: [{\n // path: 'template/preview/:templateKey/:single/:isJoinFlow',\n // name: 'sysModulePreviewStatement-single',\n // component: () =>\n // import('@/components/dataTemplate/templatePreview.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // }]\n // },\n // {\n // path: '/column/preview/:previewAlias',\n // name: 'columnpreview',\n // component: () => import('@/views/ColumnPreview.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/onlineForm',\n // name: 'onlineForm',\n // component: () => import('@/components/flow/OnlineForm.vue'),\n // props: true\n // },\n // /* 已办结流程 */\n // {\n // path: '/completeView/:procDefKey',\n // name: 'completeView',\n // component: () => import('@/components/flow/completeView.vue'),\n // props: true\n // },\n // /* 办结流程,只读表单 */\n // {\n // path: '/doneReadOnly/:instId',\n // name: 'doneReadOnly',\n // component: () => import('@/components/flow/task/doneReadOnly.vue'),\n // props: true\n // },\n // {\n // path: '/appCenterFront',\n // name: 'appCenter',\n // component: () => import('@/components/appCenter/AppCenter.vue')\n // },\n // {\n // path: '/appContent/:type/:id/:otherId/:appName',\n // name: 'appContent',\n // component: () => import('@/components/appCenter/AppContent.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/webOffice/:fileId/:isRevision/:inputWriteable',\n // name: 'webOffice',\n // component: () => import('@/views/WebOffice.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/navigationMsg/:type/:id',\n // name: 'navigationMsg',\n // component: () => import('@/components/home/navigationMsg.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/file/preview/:fileId',\n // name: 'attanchmentPreview',\n // component: () => import('@/views/AttanchmentPreview.vue'),\n // props: true,\n // meta: {\n // single: true\n // }\n // },\n // {\n // path: '/messageFillPage/:tipId',\n // name: 'messageFillPage',\n // component: () => import('@/views/MessageFillPage.vue'),\n // props: true,\n // meta: {\n // single: true,\n // anonymous: true\n // }\n // },\n {\n path: '*',\n component: NotFound,\n meta: {\n single: true\n }\n } // ...flowformRouter\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\nvar CryptoJS = require('crypto-js'); //引用AES源码js\n\n\nvar key = CryptoJS.enc.Utf8.parse('iAYGDC9xPbCEbFve');\nvar iv = CryptoJS.enc.Utf8.parse('5wcQVlGeShhZ2eJw'); //解密方法\n\nfunction Decrypt(word) {\n if (!word) return;\n var base64 = CryptoJS.enc.Base64.parse(word);\n var src = CryptoJS.enc.Base64.stringify(base64);\n console.log(base64, src);\n var decrypt = CryptoJS.AES.decrypt(src, key, {\n iv: iv,\n mode: CryptoJS.mode.CBC,\n padding: CryptoJS.pad.ZeroPadding\n });\n var decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);\n return decryptedStr.toString();\n}\n\nvar loadingInstance;\n\nvar tokenLogin = function tokenLogin(userInfo, next) {\n store.dispatch('login/loginByAccount', userInfo).then(function (loginStatus) {\n if (loginStatus && loginStatus == true) {\n store.dispatch('login/getDict').then(function () {\n store.dispatch('menu/actionFrontMenus');\n next();\n removeUrlParams('token');\n });\n }\n });\n};\n\nvar handleAutoLogin = function handleAutoLogin(code, next) {\n tokenLogin(code);\n};\n\nvar passCodeToObj = function passCodeToObj(code) {\n var user = {};\n var words = code.split('&');\n words.forEach(function (item) {\n var dd = item.split('=');\n user[dd[0]] = dd[1];\n });\n return user;\n};\n\nrouter.beforeEach(function (to, from, next) {\n // 视窗免登陆到链接页面 携带tokenKey\n if (to.query.token) {\n var code = to.query.token;\n tokenLogin(code, next); // loadingInstance = Loading.service({ fullscreen: true ,background: 'rgba(0, 0, 0, 0.6)'});\n // let data = {\n // \"key\": to.query.tokenKey\n // }\n // let token = {\n // \"token\": \"\"\n // }\n\n return; // 登录鉴权\n // uc.authFormUserTokenKey(data).then(res => {\n // // debugger;\n // console.log(res);\n // if (res.success) {\n // token.token = res.data\n // uc.authUserInfo(token).then(res => {\n // console.log(res, 'resresresres')\n // if (res.success) {\n // //同步后获取用户名密码登录\n // tokenLogin({\n // account: \"admin\",\n // password: \"artfess\"\n // }, next);\n // } else {\n // Message.error(res.msg);\n // // loadingInstance.close()\n // }\n // })\n // } else {\n // Message.error(res.msg);\n // // loadingInstance.close()\n // }\n // })\n }\n\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\n if (!isChildren) {\n var alias_new = {\n path: path,\n name: 'alias_new',\n component: function component(resolve) {\n return require(['@/views/menuContent.vue'], resolve);\n },\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]}