import { RouteRecordRaw } from 'vue-router'; /** * 建议:路由 path 路径与文件夹名称相同,找文件可浏览器地址找,方便定位文件位置 * * 路由meta对象参数说明 * meta: { * title: 菜单栏及 tagsView 栏、菜单搜索名称(国际化) * isLink: 是否超链接菜单,开启外链条件,`1、isLink: 链接地址不为空 2、isIframe:false` * isHide: 是否隐藏此路由 * isKeepAlive: 是否缓存组件状态 * isAffix: 是否固定在 tagsView 栏上 * isIframe: 是否内嵌窗口,开启条件,`1、isIframe:true 2、isLink:链接地址不为空` * roles: 当前路由权限标识,取角色管理。控制路由显示、隐藏。超级管理员:admin 普通角色:common * icon: 菜单、tagsView 图标,阿里:加 `iconfont xxx`,fontawesome:加 `fa xxx` * } */ // 扩展 RouteMeta 接口 declare module 'vue-router' { interface RouteMeta { title?: string; isLink?: string; isHide?: boolean; isKeepAlive?: boolean; isAffix?: boolean; isIframe?: boolean; roles?: string[]; icon?: string; } } /** * 定义动态路由 * 前端添加路由,请在顶级节点的 `children 数组` 里添加 * @description 未开启 isRequestRoutes 为 true 时使用(前端控制路由),开启时第一个顶级 children 的路由将被替换成接口请求回来的路由数据 * @description 各字段请查看 `/@/views/system/menu/component/addMenu.vue 下的 ruleForm` * @returns 返回路由菜单数据 */ export const dynamicRoutes: Array = [ { path: '/', name: '/', component: () => import('/@/layout/index.vue'), redirect: '/home', meta: { isKeepAlive: true, }, children: [ { path: '/home', name: 'home', component: () => import('/@/views/home/index.vue'), meta: { title: 'message.router.home', isLink: '', isHide: false, isKeepAlive: true, isAffix: true, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-shouye', }, }, { path: '/website', name: 'website', component: () => import('/@/views/website/index.vue'), meta: { title: 'message.router.website', isLink: '', isHide: false, isKeepAlive: true, isAffix: true, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-shouye', }, }, { path: '/usermanage', name: 'UserManage', component: () => import('/@/layout/routerView/parent.vue'), redirect: '/usermanage', meta: { title: 'message.router.UserManage', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'iconfont icon-gerenzhongxin', }, children: [ { path: '/usermanage/role', name: 'systemRole', component: () => import('/@/views/usermanage/role/index.vue'), meta: { title: 'message.router.systemRole', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'ele-ColdDrink', }, }, { path: '/usermanage/user', name: 'systemUser', component: () => import('/@/views/usermanage/user/index.vue'), meta: { title: 'message.router.systemUser', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'iconfont icon-icon-', }, }, ], }, { path: '/system', name: 'system', component: () => import('/@/layout/routerView/parent.vue'), redirect: '/system/menu', meta: { title: 'message.router.system', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'iconfont icon-xitongshezhi', }, children: [ { path: '/system/menu', name: 'systemMenu', component: () => import('/@/views/system/menu/index.vue'), meta: { title: 'message.router.systemMenu', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'iconfont icon-caidan', }, }, { path: '/system/dept', name: 'systemDept', component: () => import('/@/views/system/dept/index.vue'), meta: { title: 'message.router.systemDept', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'ele-OfficeBuilding', }, }, { path: '/system/dic', name: 'systemDic', component: () => import('/@/views/system/dic/index.vue'), meta: { title: 'message.router.systemDic', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'ele-SetUp', }, }, ], }, // 文章管理 { path: '/article', name: 'article', component: () => import('/@/views/article/index.vue'), meta: { title: 'message.router.article', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-jiliandongxuanzeqi', }, children: [ { path: '/article/detail', name: 'articleDetail', component: () => import('/@/views/article/component/detail.vue'), meta: { title: 'message.router.articleDetail', isLink: '', isHide: true, isKeepAlive: false, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Document', }, }, { path: '/article/add', name: 'addArticle', component: () => import('/@/views/article/component/upload.vue'), meta: { title: 'message.router.addArticle', isLink: '', isHide: true, isKeepAlive: false, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Document', }, }, { path: '/article/edit', name: 'editArticle', component: () => import('/@/views/article/component/upload.vue'), meta: { title: 'message.router.editArticle', isLink: '', isHide: true, isKeepAlive: false, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Document', }, } ] }, /** * * 业务模块start * @name 业务模块 * 应用服务路由——/apply * */ // 应用管理 { path: '/apply', name: 'apply', component: () => import('/@/views/service/apply/index.vue'), meta: { title: 'message.router.apply', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-crew_feature', }, children: [ // { // path: '/apply/detail', // name: 'applyDetail', // component: () => import('/@/views/service/apply/detail.vue'), // meta: { // title: 'message.router.applyDetail', // isLink: '', // isHide: true, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: 'ele-Document', // }, // }, ] }, /** * 业务模块end */ // 轮播图管理 { path: '/carousel', name: 'carousel', component: () => import('/@/views/carousel/index.vue'), meta: { title: 'message.router.carousel', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-DocumentCopy', }, }, // 图片管理 { path: '/photos', name: 'photos', component: () => import('/@/views/photos/index.vue'), meta: { title: 'message.router.photos', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Picture', }, }, // 客户管理 { path: '/clients', name: 'clients', component: () => import('/@/views/clients/index.vue'), meta: { title: 'message.router.clients', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-User', }, }, { path: '/message', name: 'message', component: () => import('/@/views/message/index.vue'), meta: { title: 'message.router.message', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-fuwenbenkuang', }, }, { path: '/log', name: 'log', component: () => import('/@/views/log/index.vue'), meta: { title: 'message.router.log', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-biaodan', }, }, { path: '/label', name: 'label', component: () => import('/@/views/label/index.vue'), meta: { title: 'message.router.label', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-CollectionTag', }, // children: [ // { // path: '/label/add', // name: 'addLabel', // component: () => import('/@/views/label/component/upload.vue'), // meta: { // title: 'message.router.addLabel', // isLink: '', // isHide: true, // isKeepAlive: false, // isAffix: false, // isIframe: false, // roles: ['admin','common'], // icon: 'ele-Document', // }, // }, // { // path: '/label/edit', // name: 'editLabel', // component: () => import('/@/views/label/component/upload.vue'), // meta: { // title: 'message.router.editLabel', // isLink: '', // isHide: true, // isKeepAlive: false, // isAffix: false, // isIframe: false, // roles: ['admin','common'], // icon: 'ele-Document', // }, // } // ] }, { path: '/order', name: 'order', component: () => import('/@/views/order/index.vue'), meta: { title: 'message.router.order', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-shuju', }, }, { path: '/statistics', name: 'statistics', component: () => import('/@/views/statistics/index.vue'), meta: { title: 'message.router.statistics', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-ico_shuju', }, }, { path: '/video', name: 'video', component: () => import('/@/views/video/index.vue'), meta: { title: 'message.router.video', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-jiliandongxuanzeqi', }, children: [ { path: '/video/detail', name: 'videoDetail', component: () => import('/@/views/video/component/detail.vue'), meta: { title: 'message.router.videoDetail', isLink: '', isHide: true, isKeepAlive: false, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Document', }, }, { path: '/video/add', name: 'addVideo', component: () => import('/@/views/video/component/upload.vue'), meta: { title: 'message.router.addVideo', isLink: '', isHide: true, isKeepAlive: false, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Document', }, }, { path: '/video/edit', name: 'editVideo', component: () => import('/@/views/video/component/upload.vue'), meta: { title: 'message.router.editVideo', isLink: '', isHide: true, isKeepAlive: false, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Document', }, } ] }, { path: '/attachment', name: 'attachment', component: () => import('/@/views/attachment/index.vue'), meta: { title: 'message.router.attachment', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-jiliandongxuanzeqi', }, children: [ { path: '/attachment/detail', name: 'attachmentDetail', component: () => import('/@/views/attachment/component/detail.vue'), meta: { title: 'message.router.attachmentDetail', isLink: '', isHide: true, isKeepAlive: false, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Document', }, }, { path: '/attachment/add', name: 'addAttachment', component: () => import('/@/views/attachment/component/upload.vue'), meta: { title: 'message.router.addVideo', isLink: '', isHide: true, isKeepAlive: false, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Document', }, }, { path: '/attachment/edit', name: 'editAttachment', component: () => import('/@/views/attachment/component/upload.vue'), meta: { title: 'message.router.editVideo', isLink: '', isHide: true, isKeepAlive: false, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Document', }, } ] }, { path: '/messagePush', name: 'messagePush', component: () => import('/@/views/messagePush/index.vue'), meta: { title: 'message.router.messagePush', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-jiliandongxuanzeqi', }, children: [ { path: '/messagePush/detail', name: 'messagePushDetail', component: () => import('/@/views/messagePush/component/detail.vue'), meta: { title: 'message.router.messagePushDetail', isLink: '', isHide: true, isKeepAlive: false, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Document', }, }, ] }, // { // path: '/limits', // name: 'limits', // component: () => import('/@/layout/routerView/parent.vue'), // redirect: '/limits/frontEnd', // meta: { // title: 'message.router.limits', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: 'iconfont icon-quanxian', // }, // children: [ // { // path: '/limits/frontEnd', // name: 'limitsFrontEnd', // component: () => import('/@/layout/routerView/parent.vue'), // redirect: '/limits/frontEnd/page', // meta: { // title: 'message.router.limitsFrontEnd', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: '', // }, // children: [ // { // path: '/limits/frontEnd/page', // name: 'limitsFrontEndPage', // component: () => import('/@/views/limits/frontEnd/page/index.vue'), // meta: { // title: 'message.router.limitsFrontEndPage', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: '', // }, // }, // { // path: '/limits/frontEnd/btn', // name: 'limitsFrontEndBtn', // component: () => import('/@/views/limits/frontEnd/btn/index.vue'), // meta: { // title: 'message.router.limitsFrontEndBtn', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: '', // }, // }, // ], // }, // { // path: '/limits/backEnd', // name: 'limitsBackEnd', // component: () => import('/@/layout/routerView/parent.vue'), // meta: { // title: 'message.router.limitsBackEnd', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: '', // }, // children: [ // { // path: '/limits/backEnd/page', // name: 'limitsBackEndEndPage', // component: () => import('/@/views/limits/backEnd/page/index.vue'), // meta: { // title: 'message.router.limitsBackEndEndPage', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: '', // }, // }, // ], // }, // ], // }, // { // path: '/menu', // name: 'menu', // component: () => import('/@/layout/routerView/parent.vue'), // redirect: '/menu/menu1', // meta: { // title: 'message.router.menu', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: 'iconfont icon-caidan', // }, // children: [ // { // path: '/menu/menu1', // name: 'menu1', // component: () => import('/@/layout/routerView/parent.vue'), // redirect: '/menu/menu1/menu11', // meta: { // title: 'message.router.menu1', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: 'iconfont icon-caidan', // }, // children: [ // { // path: '/menu/menu1/menu11', // name: 'menu11', // component: () => import('/@/views/menu/menu1/menu11/index.vue'), // meta: { // title: 'message.router.menu11', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: 'iconfont icon-caidan', // }, // }, // { // path: '/menu/menu1/menu12', // name: 'menu12', // component: () => import('/@/layout/routerView/parent.vue'), // redirect: '/menu/menu1/menu12/menu121', // meta: { // title: 'message.router.menu12', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: 'iconfont icon-caidan', // }, // children: [ // { // path: '/menu/menu1/menu12/menu121', // name: 'menu121', // component: () => import('/@/views/menu/menu1/menu12/menu121/index.vue'), // meta: { // title: 'message.router.menu121', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: 'iconfont icon-caidan', // }, // }, // { // path: '/menu/menu1/menu12/menu122', // name: 'menu122', // component: () => import('/@/views/menu/menu1/menu12/menu122/index.vue'), // meta: { // title: 'message.router.menu122', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: 'iconfont icon-caidan', // }, // }, // ], // }, // { // path: '/menu/menu1/menu13', // name: 'menu13', // component: () => import('/@/views/menu/menu1/menu13/index.vue'), // meta: { // title: 'message.router.menu13', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: 'iconfont icon-caidan', // }, // }, // ], // }, // { // path: '/menu/menu2', // name: 'menu2', // component: () => import('/@/views/menu/menu2/index.vue'), // meta: { // title: 'message.router.menu2', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: 'iconfont icon-caidan', // }, // }, // ], // }, { path: '/fun', name: 'funIndex', component: () => import('/@/layout/routerView/parent.vue'), redirect: '/fun/tagsView', meta: { title: 'message.router.funIndex', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-crew_feature', }, children: [ { path: '/fun/tagsView', name: 'funTagsView', component: () => import('/@/views/fun/tagsView/index.vue'), meta: { title: 'message.router.funTagsView', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Pointer', }, }, { path: '/fun/countup', name: 'funCountup', component: () => import('/@/views/fun/countup/index.vue'), meta: { title: 'message.router.funCountup', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Odometer', }, }, { path: '/fun/wangEditor', name: 'funWangEditor', component: () => import('/@/views/fun/wangEditor/index.vue'), meta: { title: 'message.router.funWangEditor', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-fuwenbenkuang', }, }, { path: '/fun/cropper', name: 'funCropper', component: () => import('/@/views/fun/cropper/index.vue'), meta: { title: 'message.router.funCropper', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-caijian', }, }, { path: '/fun/qrcode', name: 'funQrcode', component: () => import('/@/views/fun/qrcode/index.vue'), meta: { title: 'message.router.funQrcode', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-ico', }, }, { path: '/fun/echartsMap', name: 'funEchartsMap', component: () => import('/@/views/fun/echartsMap/index.vue'), meta: { title: 'message.router.funEchartsMap', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-ditu', }, }, { path: '/fun/printJs', name: 'funPrintJs', component: () => import('/@/views/fun/printJs/index.vue'), meta: { title: 'message.router.funPrintJs', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Printer', }, }, { path: '/fun/clipboard', name: 'funClipboard', component: () => import('/@/views/fun/clipboard/index.vue'), meta: { title: 'message.router.funClipboard', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-DocumentCopy', }, }, { path: '/fun/gridLayout', name: 'funGridLayout', component: () => import('/@/views/fun/gridLayout/index.vue'), meta: { title: 'message.router.funGridLayout', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-tuodong', }, }, { path: '/fun/splitpanes', name: 'funSplitpanes', component: () => import('/@/views/fun/splitpanes/index.vue'), meta: { title: 'message.router.funSplitpanes', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon--chaifenlie', }, }, ], }, { path: '/pages', name: 'pagesIndex', component: () => import('/@/layout/routerView/parent.vue'), redirect: '/pages/filtering', meta: { title: 'message.router.pagesIndex', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-fuzhiyemian', }, children: [ { path: '/pages/filtering', name: 'pagesFiltering', component: () => import('/@/views/pages/filtering/index.vue'), meta: { title: 'message.router.pagesFiltering', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Sell', }, /** * 注意此处详情写法: * 1、嵌套进父级里时,面包屑显示为:首页/页面/过滤筛选组件/过滤筛选组件详情 * 2、不嵌套进父级时,面包屑显示为:首页/页面/过滤筛选组件/过滤筛选组件详情 * 3、想要父级不高亮,面包屑显示为:首页/页面/过滤筛选组件详情,设置路径为:/pages/filteringDetails */ children: [ { path: '/pages/filtering/details', name: 'pagesFilteringDetails', component: () => import('/@/views/pages/filtering/details.vue'), meta: { title: 'message.router.pagesFilteringDetails', isLink: '', isHide: true, isKeepAlive: false, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Sunny', }, }, ], }, { path: '/pages/filtering/details1', name: 'pagesFilteringDetails1', component: () => import('/@/views/pages/filtering/details1.vue'), meta: { title: 'message.router.pagesFilteringDetails1', isLink: '', isHide: true, isKeepAlive: false, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Sunny', }, }, { path: '/pages/iocnfont', name: 'pagesIocnfont', component: () => import('/@/views/pages/iocnfont/index.vue'), meta: { title: 'message.router.pagesIocnfont', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Present', }, }, { path: '/pages/element', name: 'pagesElement', component: () => import('/@/views/pages/element/index.vue'), meta: { title: 'message.router.pagesElement', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Eleme', }, }, { path: '/pages/awesome', name: 'pagesAwesome', component: () => import('/@/views/pages/awesome/index.vue'), meta: { title: 'message.router.pagesAwesome', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-SetUp', }, }, { path: '/pages/formAdapt', name: 'pagesFormAdapt', component: () => import('/@/views/pages/formAdapt/index.vue'), meta: { title: 'message.router.pagesFormAdapt', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-biaodan', }, }, { path: '/pages/tableRules', name: 'pagesTableRules', component: () => import('/@/views/pages/tableRules/index.vue'), meta: { title: 'message.router.pagesTableRules', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-jiliandongxuanzeqi', }, }, { path: '/pages/formI18n', name: 'pagesFormI18n', component: () => import('/@/views/pages/formI18n/index.vue'), meta: { title: 'message.router.pagesFormI18n', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-diqiu', }, }, { path: '/pages/formRules', name: 'pagesFormRules', component: () => import('/@/views/pages/formRules/index.vue'), meta: { title: 'message.router.pagesFormRules', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-shuxing', }, }, { path: '/pages/listAdapt', name: 'pagesListAdapt', component: () => import('/@/views/pages/listAdapt/index.vue'), meta: { title: 'message.router.pagesListAdapt', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-chazhaobiaodanliebiao', }, }, { path: '/pages/waterfall', name: 'pagesWaterfall', component: () => import('/@/views/pages/waterfall/index.vue'), meta: { title: 'message.router.pagesWaterfall', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-zidingyibuju', }, }, { path: '/pages/steps', name: 'pagesSteps', component: () => import('/@/views/pages/steps/index.vue'), meta: { title: 'message.router.pagesSteps', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-step', }, }, { path: '/pages/preview', name: 'pagesPreview', component: () => import('/@/views/pages/preview/index.vue'), meta: { title: 'message.router.pagesPreview', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-15tupianyulan', }, }, { path: '/pages/waves', name: 'pagesWaves', component: () => import('/@/views/pages/waves/index.vue'), meta: { title: 'message.router.pagesWaves', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-bolangneng', }, }, { path: '/pages/tree', name: 'pagesTree', component: () => import('/@/views/pages/tree/index.vue'), meta: { title: 'message.router.pagesTree', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-shuxingtu', }, }, { path: '/pages/drag', name: 'pagesDrag', component: () => import('/@/views/pages/drag/index.vue'), meta: { title: 'message.router.pagesDrag', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Pointer', }, }, { path: '/pages/lazyImg', name: 'pagesLazyImg', component: () => import('/@/views/pages/lazyImg/index.vue'), meta: { title: 'message.router.pagesLazyImg', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'ele-PictureFilled', }, }, { path: '/pages/dynamicForm', name: 'pagesDynamicForm', component: () => import('/@/views/pages/dynamicForm/index.vue'), meta: { title: 'message.router.pagesDynamicForm', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'iconfont icon-wenducanshu-05', }, }, { path: '/pages/workflow', name: 'pagesWorkflow', component: () => import('/@/views/pages/workflow/index.vue'), meta: { title: 'message.router.pagesWorkflow', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'ele-Connection', }, }, ], }, { path: '/make', name: 'makeIndex', component: () => import('/@/layout/routerView/parent.vue'), redirect: '/make/selector', meta: { title: 'message.router.makeIndex', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'iconfont icon-siweidaotu', }, children: [ { path: '/make/selector', name: 'makeSelector', component: () => import('/@/views/make/selector/index.vue'), meta: { title: 'message.router.makeSelector', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-xuanzeqi', }, }, { path: '/make/noticeBar', name: 'makeNoticeBar', component: () => import('/@/views/make/noticeBar/index.vue'), meta: { title: 'message.router.makeNoticeBar', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'ele-Bell', }, }, { path: '/make/svgDemo', name: 'makeSvgDemo', component: () => import('/@/views/make/svgDemo/index.vue'), meta: { title: 'message.router.makeSvgDemo', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'fa fa-thumbs-o-up', }, }, { path: '/make/tableDemo', name: 'makeTableDemo', component: () => import('/@/views/make/tableDemo/index.vue'), meta: { title: 'message.router.makeTableDemo', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-shuju', }, }, ], }, { path: '/params', name: 'paramsIndex', component: () => import('/@/layout/routerView/parent.vue'), redirect: '/params/common', meta: { title: 'message.router.paramsIndex', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'iconfont icon-zhongduancanshu', }, children: [ { path: '/params/common', name: 'paramsCommon', component: () => import('/@/views/params/common/index.vue'), meta: { title: 'message.router.paramsCommon', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'iconfont icon-putong', }, }, { path: '/params/common/details', name: 'paramsCommonDetails', component: () => import('/@/views/params/common/details.vue'), meta: { title: 'message.router.paramsCommonDetails', isLink: '', isHide: true, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'ele-Comment', }, }, { path: '/params/dynamic', name: 'paramsDynamic', component: () => import('/@/views/params/dynamic/index.vue'), meta: { title: 'message.router.paramsDynamic', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'iconfont icon-dongtai', }, }, /** * tagsViewName 为要设置不同的 "tagsView 名称" 字段 * 如若需设置不同 "tagsView 名称",tagsViewName 字段必须要有 */ { path: '/params/dynamic/details/:t/:id/:tagsViewName', name: 'paramsDynamicDetails', component: () => import('/@/views/params/dynamic/details.vue'), meta: { title: 'message.router.paramsDynamicDetails', isLink: '', isHide: true, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'ele-Lightning', }, }, ], }, { path: '/visualizing', name: 'visualizingIndex', component: () => import('/@/layout/routerView/parent.vue'), redirect: '/visualizing/visualizingLinkDemo1', meta: { title: 'message.router.visualizingIndex', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin'], icon: 'ele-ChatLineRound', }, /** * 打开内置全屏 * component 都为 `() => import('/@/layout/routerView/link.vue')` * isLink 链接为内置的路由地址,地址为 staticRoutes 中定义 */ children: [ { path: '/visualizing/visualizingLinkDemo1', name: 'visualizingLinkDemo1', component: () => import('/@/layout/routerView/link.vue'), meta: { title: 'message.router.visualizingLinkDemo1', isLink: '/visualizingDemo1', isHide: false, isKeepAlive: false, isAffix: false, isIframe: false, roles: ['admin'], icon: 'iconfont icon-caozuo-wailian', }, }, { path: '/visualizing/visualizingLinkDemo2', name: 'visualizingLinkDemo2', component: () => import('/@/layout/routerView/link.vue'), meta: { title: 'message.router.visualizingLinkDemo2', isLink: '/visualizingDemo2', isHide: false, isKeepAlive: false, isAffix: false, isIframe: false, roles: ['admin'], icon: 'iconfont icon-caozuo-wailian', }, }, ], }, // { // path: '/chart', // name: 'chartIndex', // component: () => import('/@/views/chart/index.vue'), // meta: { // title: 'message.router.chartIndex', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: 'iconfont icon-ico_shuju', // }, // }, // { // path: '/personal', // name: 'personal', // component: () => import('/@/views/personal/index.vue'), // meta: { // title: 'message.router.personal', // isLink: '', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: false, // roles: ['admin', 'common'], // icon: 'iconfont icon-gerenzhongxin', // }, // }, { path: '/tools', name: 'tools', component: () => import('/@/views/tools/index.vue'), meta: { title: 'message.router.tools', isLink: '', isHide: false, isKeepAlive: true, isAffix: false, isIframe: false, roles: ['admin', 'common'], icon: 'iconfont icon-gongju', }, }, // { // path: '/link', // name: 'layoutLinkView', // component: () => import('/@/layout/routerView/link.vue'), // meta: { // title: 'message.router.layoutLinkView', // isLink: 'https://element-plus.gitee.io/#/zh-CN/component/installation', // isHide: false, // isKeepAlive: false, // isAffix: false, // isIframe: false, // roles: ['admin'], // icon: 'iconfont icon-caozuo-wailian', // }, // }, // { // path: '/iframesOne', // name: 'layoutIframeViewOne', // component: () => import('/@/layout/routerView/iframes.vue'), // meta: { // title: 'message.router.layoutIframeViewOne', // isLink: 'https://nodejs.org/zh-cn/', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: true, // roles: ['admin'], // icon: 'iconfont icon-neiqianshujuchucun', // }, // }, // { // path: '/iframesTwo', // name: 'layoutIframeViewTwo', // component: () => import('/@/layout/routerView/iframes.vue'), // meta: { // title: 'message.router.layoutIframeViewTwo', // isLink: 'https://undraw.co/illustrations', // isHide: false, // isKeepAlive: true, // isAffix: false, // isIframe: true, // roles: ['admin'], // icon: 'iconfont icon-neiqianshujuchucun', // }, // }, ], } ]; /** * 定义404、401界面 * @link 参考:https://next.router.vuejs.org/zh/guide/essentials/history-mode.html#netlify */ export const notFoundAndNoPower = [ { path: '/:path(.*)*', name: 'notFound', component: () => import('/@/views/error/404.vue'), meta: { title: 'message.staticRoutes.notFound', isHide: true, }, }, { path: '/401', name: 'noPower', component: () => import('/@/views/error/401.vue'), meta: { title: 'message.staticRoutes.noPower', isHide: true, }, }, ]; /** * 定义静态路由(默认路由) * 此路由不要动,前端添加路由的话,请在 `dynamicRoutes 数组` 中添加 * @description 前端控制直接改 dynamicRoutes 中的路由,后端控制不需要修改,请求接口路由数据时,会覆盖 dynamicRoutes 第一个顶级 children 的内容(全屏,不包含 layout 中的路由出口) * @returns 返回路由菜单数据 */ export const staticRoutes: Array = [ { path: '/login', name: 'login', component: () => import('/@/views/login/index.vue'), meta: { title: '登录', }, }, /** * 提示:写在这里的为全屏界面,不建议写在这里 * 请写在 `dynamicRoutes` 路由数组中 */ { path: '/visualizingDemo1', name: 'visualizingDemo1', component: () => import('/@/views/visualizing/demo1.vue'), meta: { title: 'message.router.visualizingLinkDemo1', }, }, { path: '/visualizingDemo2', name: 'visualizingDemo2', component: () => import('/@/views/visualizing/demo2.vue'), meta: { title: 'message.router.visualizingLinkDemo2', }, }, { path: '/article/content', name: 'articleContent', component: () => import('/@/views/article/content.vue'), meta: { title: 'message.router.articleContent', }, } ];