import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) /* Layout */ import Layout from '@/layout' import ParentView from '@/components/ParentView'; /** * Note: 路由配置项 * * hidden: true // 当设置 true 的时候该路由不会再侧边栏出现 如401,login等页面,或者如一些编辑页面/edit/1 * alwaysShow: true // 当你一个路由下面的 children 声明的路由大于1个时,自动会变成嵌套的模式--如组件页面 * // 只有一个时,会将那个子路由当做根路由显示在侧边栏--如引导页面 * // 若你想不管路由下面的 children 声明的个数都显示你的根路由 * // 你可以设置 alwaysShow: true,这样它就会忽略之前定义的规则,一直显示根路由 * redirect: noRedirect // 当设置 noRedirect 的时候该路由在面包屑导航中不可被点击 * name:'router-name' // 设定路由的名字,一定要填写不然使用时会出现各种问题 * meta : { noCache: true // 如果设置为true,则不会被 缓存(默认 false) title: 'title' // 设置该路由在侧边栏和面包屑中展示的名字 icon: 'svg-name' // 设置该路由的图标,对应路径src/assets/icons/svg breadcrumb: false // 如果设置为false,则不会在breadcrumb面包屑中显示 } */ // 公共路由 export const constantRoutes = [ { path: '/redirect', component: Layout, hidden: true, children: [ { path: '/redirect/:path(.*)', component: (resolve) => require(['@/views/redirect'], resolve) } ] }, { path: '/login', component: (resolve) => require(['@/views/login'], resolve), hidden: true }, { path: '/set-password', name: 'SetPassword', component: () => import('@/views/setPassword.vue'), hidden: true }, { path: '/404', component: (resolve) => require(['@/views/error/404'], resolve), hidden: true }, { path: '/401', component: (resolve) => require(['@/views/error/401'], resolve), hidden: true }, { path: '/wx', // component: () => import('@/page/help'), hidden: true, }, { path: '/', component: Layout, redirect: 'index', children: [ { path: 'index', component: (resolve) => require(['@/views/index'], resolve), name: '首页', meta: { title: '首页', icon: 'dashboard', noCache: true, affix: true } } ] }, { path: '/user', component: Layout, hidden: true, redirect: 'noredirect', children: [ { path: 'profile', component: (resolve) => require(['@/views/company/companyUser/profile/index'], resolve), name: 'Profile', meta: { title: '个人中心', icon: 'user' } } ] }, { path: '/fastGpt/fastGptDataset/Collection', component: Layout, hidden: true, children: [ { path: 'fastGptCollection/:datasetId', component: (resolve) => require(['@/views/fastGpt/fastGptDataset/fastGptCollection'], resolve), name: 'fastGptCollection', meta: { title: '知识库的集合', activeMenu: '/fastGpt/fastGptCollection'} } ] }, { path: '/fastGpt/fastGptRole1', component: Layout, hidden: true, children: [ { path: 'uadateFastGptRole/:command', component: (resolve) => require(['@/views/fastGpt/fastGptRole/fastGptRoleUpdate'], resolve), name: 'updateAiRole', meta: { title: '修改ai角色', activeMenu: '/fastGpt/fastGptRole'} } ] }, { path: '/qw/sopTemp', component: Layout, hidden: true, children: [ { path: 'addSopTemp/:command', component: (resolve) => require(['@/views/qw/sopTemp/addSopTemp'], resolve), name: 'addSopTemp', meta: { title: '新增SOP模板', activeMenu: '/qw/addSopTemp'} }, { path: 'addTemp/:command', component: (resolve) => require(['@/views/qw/sopTemp/addTemp'], resolve), name: 'addTemp', meta: { title: '新增SOP模板', activeMenu: '/qw/addTemp'} }, { path: 'addAiChatTemp', component: (resolve) => require(['@/views/qw/sopTemp/addAiChatTemp'], resolve), name: 'addAiChatTemp', meta: { title: '新增AI对话模板', activeMenu: '/qw/addSopTemp'} } ] }, { path: '/qw/sopTemp', component: Layout, hidden: true, children: [ { path: 'updateSopTemp/:id/:type(\\d+)', // 确保 :type 的正则匹配数字 component: () => import('@/views/qw/sopTemp/updateSopTemp'), name: 'updateSopTemp', meta: { title: '改动SOP模板', activeMenu: '/qw/addSopTemp' } }, { path: 'updateTemp/:id/:type(\\d+)', // 确保 :type 的正则匹配数字 component: () => import('@/views/qw/sopTemp/updateTemp'), name: 'updateTemp', meta: { title: '改动SOP模板', activeMenu: '/qw/updateTemp' } }, { path: 'updateAiChatTemp/:id/:type(\\d+)', // 确保 :type 的正则匹配数字 component: () => import('@/views/qw/sopTemp/updateAiChatTemp'), name: 'updateAiChatTemp', meta: { title: '改动SOP模板', activeMenu: '/qw/addSopTemp' } } ] }, { path: '/qw/sop', component: Layout, hidden: true, children: [ { path: 'addSop/:corpId', component: (resolve) => require(['@/views/qw/sop/addSop'], resolve), name: 'addSop', meta: { title: '新增SOP任务', activeMenu: '/qw/sop'} } ] }, { path: '/qw/conversion', component: Layout, hidden: true, children: [ { path: 'courseFinishTemp/:parentId', component: (resolve) => require(['@/views/course/courseFinishTemp/index'], resolve), name: 'courseFinishTemp', meta: { title: '模板详情', activeMenu: '/qw/conversion'} } ] }, { path: '/qw/sop', component: Layout, hidden: true, children: [ { path: 'addAiChatSop/:corpId', component: (resolve) => require(['@/views/qw/sop/addAiChatSop'], resolve), name: 'addAiChatSop', meta: { title: '新增>聊天SOP任务', activeMenu: '/qw/sop'} } ] }, { path: '/qw/sop', component: Layout, hidden: true, children: [ { path: 'updateSop/:id/:type', component: (resolve) => require(['@/views/qw/sop/updateSop.vue'], resolve), name: 'updateSop', meta: { title: '修改/查看SOP任务', activeMenu: '/qw/sop'} } ] }, { path: '/qw/sop', component: Layout, hidden: true, children: [ { path: 'upAiChatDateSop/:id/:type', component: (resolve) => require(['@/views/qw/sop/upAiChatDateSop'], resolve), name: 'upDateAiChatSop', meta: { title: '修改/查看>聊天SOP任务', activeMenu: '/qw/sop'} } ] }, { path: '/qw/sopUserLogs', component: Layout, hidden: true, children: [ { path: 'sopUserLogsSchedule/:id', // 动态路由参数 component: () => import('@/views/qw/sopUserLogs/sopUserLogsSchedule.vue'), // 使用 import 动态加载 name: 'sopUserLogsSchedule', meta: { title: '查看营期', activeMenu: '/qw/sop' } } ] }, { path: '/watch/deviceInfo/details', component: Layout, hidden: true, children: [ { path: ':deviceId(\\d+)', component: (resolve) => require(['@/views/watch/deviceInfo/details'], resolve), name: 'watchDetails', meta: { title: '设备详情', activeMenu: '/watch/deviceInfo'} } ] }, ] export default new Router({ mode: 'history', // 去掉url中的# scrollBehavior: () => ({ y: 0 }), routes: constantRoutes })