import Vue from 'vue' import VueRouter from 'vue-router' import Cookies from 'js-cookie' Vue.use(VueRouter) const originalPush = VueRouter.prototype.push VueRouter.prototype.push = function push(location) { return originalPush.call(this, location).catch(err => err) } const routes = [ { path: "/route", component: () => import('@/utils/model/route.vue'), }, { path: "/", component: () => import('@/views/index'), }, { path:'/login', name:'Login', meta: { title: '系统登录' }, component: () => import("@/views/login/index.vue") }, { path: "/agreeConceal", name:'agreeConceal', meta: { title: '用户须知' }, component: () => import('@/views/login/compoments/invite/components/index.vue') }, { path: "", component: () => import('@/views/layout/index.vue'), children: [ { path: '/home', name: 'Home', meta: { title: '首页', sign:'home', belong:'home' }, component: () => import('@/views/home/index.vue'), }, //专利数据库 { path: '/project', name:'Project', component:{render(c){return c('router-view')}}, redirect:'/project', children:[ { path:'/', meta: { title: '专利数据库', sign:'project', belong:'project' }, component: () => import('@/views/project/index.vue'), }, { path: 'patentCollection', meta: { title: '专利列表', sign:'patentCollection', belong:'project' }, component: () => import('@/views/project/patentCollection/index.vue') }, // { // path: 'folder/:id', // meta: { // title: '专利文章', // // button: [], // showProjectName:true // }, // component: () => import('@/views/workspace/folder/articles') // }, ], }, //企业专利数据库 // { // path: '/enterprisePatentDB', // name:'enterprisePatentDB', // component:{render(c){return c('router-view')}}, // redirect:'/enterprisePatentDB', // children:[ // { // path:'/', // meta: { // title: '企业专利数据库', // }, // component: () => import('@/views/EnterprisePatentDatabase/index.vue'), // }, // ] // }, // //专利挖掘 { path: '/patentMining', name:'patentMining', component:{render(c){return c('router-view')}}, redirect:'/patentMining', children:[ { path:'/', meta: { title: '专利挖掘', sign:'patentMining', belong:'patentMining' }, component: () => import('@/views/patentMining/index.vue'), }, { path:'/details', meta: { title: '专利挖掘详情', sign:'patentMiningDetails', belong:'patentMining' }, component: () => import('@/views/patentMining/components/details/index.vue'), }, { path:'/excavateTask', meta: { title: '专利挖掘任务', sign:'patentMiningExcavateTask', belong:'patentMining' }, component: () => import('@/views/patentMining/components/excavateTask/index.vue'), }, { path:'/handleExamine', meta: { title: '专利挖掘任务详情', sign:'patentMiningHandleExamine', belong:'patentMining' }, component: () => import('@/views/patentMining/components/handleExamine/index.vue'), }, ] }, // // 产品 { path: '/product', name: 'Product', component: { render(c) { return c('router-view') } }, redirect: '/product', children:[ { path:'/', name:'/', meta: { title: '产品', sign:'product', belong:'Product' }, component: () => import('@/views/product/index.vue'), }, { path: "/productDetails", name:'productDetails', meta: { title: '详情', sign:'productDetails', belong:'Product' }, component: () => import('@/views/product/components/details'), }, // { // path: "/mindIndex", // meta: { // title: '可视化', // button: [], // }, // component: () => import('@/views/product/components/jsMind'), // }, { path: "/chartIndex", name:'chartIndex', meta: { title: '趋势图', sign: 'chartIndex', belong:'Product' }, component: () => import('@/views/product/components/echarts'), }, { path: "/frameworkIndex", meta: { title: '产品架构', sign: 'frameworkIndex', belong:'Product' }, component: () => import('@/views/product/components/framework/index.vue'), }, { path: "/commodity", meta: { title: '产品商品化专利', sign:'commodity', belong:'Product' }, component: () => import('@/views/product/components/commodity/index.vue'), }, ], }, //事件 { path: '/Event', name:'Event', component:{render(c){return c('router-view')}}, redirect:'/Event', children:[ { path:'/', meta: { title: '事件', sign:'event', belong:'Event' }, component: () => import('@/views/event/index.vue'), }, //事件可视化 { path: "/eventVisual", name:'eventVisual', meta: { title: '事件可视化', sign:'eventVisual', belong:'Event' }, component: () => import('@/views/event/components/details/visualRouter.vue'), }, ], }, //报告 { path: '/AllReport', name:'AllReport', component:{render(c){return c('router-view')}}, redirect:'/AllReport', children:[ { path:'/', meta: { title: '报告', sign:'report', belong:'AllReport' }, component: () => import('@/views/report/index.vue'), }, // //无效分析、第三方意见、稳定性分析 // { // path: '/InvalidIndex', // name:"InvalidIndex", // meta:{ // aside: true, // showHeader:true, // }, // component:() => import('@/views/report/Invalid/index.vue'), // }, // //FTO风险排查 // { // path: '/FTOIndex', // name:"FTOIndex", // meta:{ // aside: true, // showHeader:true, // }, // component:() => import('@/views/report/FTO/index.vue'), // }, // //侵权分析 // { // path: '/tortIndex', // name:"tortIndex", // meta:{ // aside: true, // showHeader:true, // }, // component:() => import('@/views/report/tort/index.vue'), // }, // //回避设计 // { // path: '/avoid', // name:"avoid", // meta:{ // aside: true, // showHeader:true, // }, // component:() => import('@/views/report/avoid/index.vue'), // }, // //无效分析、第三方意见、稳定性分析报告详情 // { // path: '/rDetails', // name:"rDetails", // meta:{ // aside: true, // showHeader:true, // }, // component:() => import('@/views/report/reportDetails/index.vue'), // }, // //FTO风险排查、侵权分析报告详情 // { // path: '/FTOrDetails', // name:"FTOrDetails", // meta:{ // aside: true, // showHeader:true, // }, // component:() => import('@/views/report/FTO/FTOPage/ReportDetails/index.vue'), // }, // //回避设计报告详情 // { // path: '/avoidAside', // name:"avoidAside", // meta:{ // aside: true, // showHeader:true, // }, // component:() => import('@/views/report/avoid/avoidAsid/index.vue'), // }, // //无效应对报告详情 // { // path:'/InvalidResponse', // name:'InvalidResponse', // meta:{ // title:'无效应对', // aside:true, // showHeader:true, // }, // component:() => import('@/views/report/InvalidResponse/index'), // }, // //添加无效证据和理由 // { // path:'/invalidIdexRouter', // name:'invalidIdexRouter', // meta:{ // title:'无效证据和理由', // aside:true, // showHeader:true, // }, // component:() => import('@/views/report/InvalidResponse/components/invalidIdexRouter.vue'), // }, // //导入证据文献 // { // path:'/evidenceAndRequestIndex', // name:'evidenceAndRequestIndex', // meta:{ // title:'证据详情', // aside:true, // showHeader:true, // }, // component:() => import('@/views/report/InvalidResponse/components/evidenceAndRequestRouter.vue'), // }, // //对比任务 // { // path: '/SelectedPatent', // name:"SelectedPatent", // meta:{ // aside:true // }, // component:() => import('@/views/report/reportDetails/components/SelectedPatent.vue'), // }, // // 任务分配 // { // path: '/AssignTasks', // name:"/AssignTasks", // meta:{ // aside:true // }, // component:() => import('@/views/report/Invalid/InvalidPage/AssignTasks.vue'), // }, // //添加对比文件 // { // path:'/addPatentList', // name:'/addPatentList', // meta:{ // title:'添加对比文件', // aside:true, // showHeader:true, // // hiddenHeader:true // }, // component:() => import('@/views/report/components/addPatentList'), // }, // //查看单个专利详情 // { // path:'/patentDetails', // name:"patentDetails", // meta:{ // aside:true // }, // component:() => import('@/views/components/common/PatentDetails') // }, // //无效应对证据文献详情 // { // path:'/checkFileDetails/:key', // name:'checkFileDetails/:key', // meta:{ // title:'证据文献详情', // aside:true, // showHeader:true, // }, // component:() => import('@/views/report/InvalidResponse/components/FileDetails/index.vue'), // }, // //报告任务清单 // { // path:'/rTaskList', // name:'rTaskList', // meta:{ // title:'任务', // aside:true, // showHeader:true, // }, // component: () => import('@/views/report/task/index.vue'), // }, // // }, ], }, //场景可视化 { path: '/visual', name:'visual', meta: { title: '场景可视化', sign:'visual', belong:'visual' }, component: () => import('@/views/visual') }, { path: '/visual/:title', name:'flowPath', meta: { sign:'flowPath', title: '可视化平台', belong:'visual' }, component: () => import('@/views/visual/title/index.vue') }, //图表分析 // { // path: "/analyse", // component:{render(c){return c('router-view')}}, // redirect:'/analyse', // children: [ // { // path: "custom", // component: () => import('@/views/analyse/custom'), // meta: { // title: '自定义分析列表' // } // }, // { // path: "report", // component: () => import('@/views/analyse/report/create'), // meta: { // title: '一键生成报告' // } // }, // ] // }, // { // path: "custom", // component: () => import('@/views/analyse/custom'), // meta: { // title: '自定义分析列表' // } // }, // { // path: "report", // component: () => import('@/views/analyse/report/create'), // meta: { // title: '一键生成报告' // } // }, //查看文件 { path:'/checkFile', name:'/checkFile', meta:{ aside:true, sign:'checkFile', }, component:() => import('@/views/components/view/checkFile.vue'), }, //excel导入 { path: '/import', name:"import", meta:{ title: 'excel导入', sign:'import' }, component:() => import('@/views/components/import/excelImport'), }, //专利号导入 { path: '/PatentNoImport', name:"PatentNoImport", meta:{ title: '专利号导入', sign:'PatentNoImport' }, component:() => import('@/views/components/import/PatentNoImport'), }, //检索导入 { path: '/conditionImport', name:"conditionImport", meta:{ title: '专利检索', sign:'conditionImport', belong:'conditionImport' }, component:() => import('@/views/components/import/conditionImport'), }, // //检索结果 // { // path: "/searchResult", // meta: { // title: '检索结果', // // button: [], // }, // component: () => import('@/views/components/import/conditionImport/searchResultIndex.vue'), // }, // //检索专利详情 // { // path: "/search/patentDetail", // meta: { // title: '专利详情', // // button: [], // }, // component: () => import('@/views/components/import/conditionImport/patentDetails/patentIndex.vue'), // }, //任务清单 // { // path: "/taskList", // meta: { // title: '任务清单', // button: [], // }, // component: () => import('@/views/task/taskIndex.vue'), // }, // //标注库 // { // path: "/indicia", // meta: { // title: '标注库', // button: [], // }, // component: () => import('@/views/indicia'), // }, // //检索组件 // { // path: "/search", // meta: { // title: '检索', // button: [], // }, // component: () => import('@/views/components/common/retrieval'), // }, ] }, ] const router = new VueRouter({ mode: 'history', base: '/', routes }) router.beforeEach((to, from, next) => { if (to.path === '/login'||to.path==='/' || to.path == '/agreeConceal'){ if (to.meta.title) { document.title = to.meta.title; } next() } else if(to.meta.allowPath){ if (to.meta.title) { document.title = to.meta.title; } next() } else{ const tokenStr = Cookies.get('token') switch(tokenStr){ case undefined: if (to.meta.title) { document.title = to.meta.title; } next({name:'Login',params:{ redirect:to.fullPath}}) break default: if (to.meta.title) { document.title = to.meta.title; } next() break; } } }) router.afterEach((to, from) => { }); export default router