12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028 |
- import { RouteRecordRaw } from 'vue-router';
- /**
- * 路由meta对象参数说明
- * meta: {
- * title: 菜单栏及 tagsView 栏、菜单搜索名称(国际化)
- * isLink: 是否超链接菜单,开启外链条件,`1、isLink:true 2、链接地址不为空`
- * isHide: 是否隐藏此路由
- * isKeepAlive: 是否缓存组件状态
- * isAffix: 是否固定在 tagsView 栏上
- * isIframe: 是否内嵌窗口,,开启条件,`1、isIframe:true 2、链接地址不为空`
- * roles: 当前路由权限标识,取角色管理。控制路由显示、隐藏。超级管理员:admin 普通角色:common
- * icon: 菜单、tagsView 图标,阿里:加 `iconfont xxx`,fontawesome:加 `fa xxx`
- * }
- */
- /**
- * 定义动态路由
- * @description 未开启 isRequestRoutes 为 true 时使用(前端控制路由),开启时第一个顶级 children 的路由将被替换成接口请求回来的路由数据
- * @description 各字段请查看 `/@/views/system/menu/component/addMenu.vue 下的 ruleForm`
- * @returns 返回路由菜单数据
- */
- export const dynamicRoutes: Array<RouteRecordRaw> = [
- {
- 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: '/personal',
- name: 'personal',
- component: () => import('/@/views/personal/index.vue'),
- meta: {
- title: 'message.router.personal',
- isLink: '',
- isHide: true,
- isKeepAlive: true,
- isAffix: false,
- isIframe: false,
- roles: ['admin', 'common'],
- icon: 'iconfont icon-gerenzhongxin',
- },
- },
- {
- path: '/404',
- name: 'notFound',
- component: () => import('/@/views/error/404.vue'),
- meta: {
- title: 'message.staticRoutes.notFound',
- isLink: '',
- isHide: true,
- isKeepAlive: true,
- isAffix: false,
- isIframe: false,
- },
- },
- {
- path: '/401',
- name: 'noPower',
- component: () => import('/@/views/error/401.vue'),
- meta: {
- title: 'message.staticRoutes.noPower',
- isLink: '',
- isHide: true,
- isKeepAlive: true,
- isAffix: false,
- isIframe: false,
- },
- },
- ],
- },
- ];
- export const demoRoutes: Array<RouteRecordRaw> = [
- {
- path: '/demo',
- name: 'demo',
- component: () => import('/@/layout/routerView/parent.vue'),
- redirect: '/demo/system/menu',
- meta: {
- title: '案例演示',
- isLink: '',
- isHide: true,
- isKeepAlive: true,
- isAffix: false,
- isIframe: false,
- roles: ['admin'],
- icon: 'iconfont icon-diannao',
- },
- children: [
- {
- path: '/demo/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: '/demo/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: '/demo/menu/menu1/menu11',
- name: 'menu11',
- component: () => import('/@/views/demo/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: '/demo/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: '/demo/menu/menu1/menu12/menu121',
- name: 'menu121',
- component: () => import('/@/views/demo/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: '/demo/menu/menu1/menu12/menu122',
- name: 'menu122',
- component: () => import('/@/views/demo/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: '/demo/menu/menu1/menu13',
- name: 'menu13',
- component: () => import('/@/views/demo/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: '/demo/menu/menu2',
- name: 'menu2',
- component: () => import('/@/views/demo/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: '/demo/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: '/demo/fun/tagsView',
- name: 'funTagsView',
- component: () => import('/@/views/demo/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: '/demo/fun/countup',
- name: 'funCountup',
- component: () => import('/@/views/demo/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: '/demo/fun/wangEditor',
- name: 'funWangEditor',
- component: () => import('/@/views/demo/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: '/demo/fun/cropper',
- name: 'funCropper',
- component: () => import('/@/views/demo/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: '/demo/fun/qrcode',
- name: 'funQrcode',
- component: () => import('/@/views/demo/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: '/demo/fun/echartsMap',
- name: 'funEchartsMap',
- component: () => import('/@/views/demo/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: '/demo/fun/printJs',
- name: 'funPrintJs',
- component: () => import('/@/views/demo/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: '/demo/fun/clipboard',
- name: 'funClipboard',
- component: () => import('/@/views/demo/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: '/demo/fun/gridLayout',
- name: 'funGridLayout',
- component: () => import('/@/views/demo/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: '/demo/fun/splitpanes',
- name: 'funSplitpanes',
- component: () => import('/@/views/demo/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: '/demo/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: '/demo/pages/filtering',
- name: 'pagesFiltering',
- component: () => import('/@/views/demo/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: '/demo/pages/filtering/details',
- name: 'pagesFilteringDetails',
- component: () => import('/@/views/demo/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: '/demo/pages/filtering/details1',
- name: 'pagesFilteringDetails1',
- component: () => import('/@/views/demo/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: '/demo/pages/iocnfont',
- name: 'pagesIocnfont',
- component: () => import('/@/views/demo/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: '/demo/pages/element',
- name: 'pagesElement',
- component: () => import('/@/views/demo/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: '/demo/pages/awesome',
- name: 'pagesAwesome',
- component: () => import('/@/views/demo/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: '/demo/pages/formAdapt',
- name: 'pagesFormAdapt',
- component: () => import('/@/views/demo/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: '/demo/pages/tableRules',
- name: 'pagesTableRules',
- component: () => import('/@/views/demo/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: '/demo/pages/formI18n',
- name: 'pagesFormI18n',
- component: () => import('/@/views/demo/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: '/demo/pages/formRules',
- name: 'pagesFormRules',
- component: () => import('/@/views/demo/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: '/demo/pages/listAdapt',
- name: 'pagesListAdapt',
- component: () => import('/@/views/demo/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: '/demo/pages/waterfall',
- name: 'pagesWaterfall',
- component: () => import('/@/views/demo/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: '/demo/pages/steps',
- name: 'pagesSteps',
- component: () => import('/@/views/demo/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: '/demo/pages/preview',
- name: 'pagesPreview',
- component: () => import('/@/views/demo/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: '/demo/pages/waves',
- name: 'pagesWaves',
- component: () => import('/@/views/demo/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: '/demo/pages/tree',
- name: 'pagesTree',
- component: () => import('/@/views/demo/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: '/demo/pages/drag',
- name: 'pagesDrag',
- component: () => import('/@/views/demo/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: '/demo/pages/lazyImg',
- name: 'pagesLazyImg',
- component: () => import('/@/views/demo/pages/lazyImg/index.vue'),
- meta: {
- title: 'message.router.pagesLazyImg',
- isLink: '',
- isHide: false,
- isKeepAlive: true,
- isAffix: false,
- isIframe: false,
- roles: ['admin'],
- icon: 'ele-PictureFilled',
- },
- },
- {
- path: '/demo/pages/dynamicForm',
- name: 'pagesDynamicForm',
- component: () => import('/@/views/demo/pages/dynamicForm/index.vue'),
- meta: {
- title: 'message.router.pagesDynamicForm',
- isLink: '',
- isHide: false,
- isKeepAlive: true,
- isAffix: false,
- isIframe: false,
- roles: ['admin'],
- icon: 'iconfont icon-diannao',
- },
- },
- {
- path: '/demo/pages/workflow',
- name: 'pagesWorkflow',
- component: () => import('/@/views/demo/pages/workflow/index.vue'),
- meta: {
- title: 'message.router.pagesWorkflow',
- isLink: '',
- isHide: false,
- isKeepAlive: true,
- isAffix: false,
- isIframe: false,
- roles: ['admin'],
- icon: 'ele-Connection',
- },
- },
- ],
- },
- {
- path: '/demo/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: '/demo/make/selector',
- name: 'makeSelector',
- component: () => import('/@/views/demo/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: '/demo/make/noticeBar',
- name: 'makeNoticeBar',
- component: () => import('/@/views/demo/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: '/demo/make/svgDemo',
- name: 'makeSvgDemo',
- component: () => import('/@/views/demo/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: '/demo/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: '/demo/params/common',
- name: 'paramsCommon',
- component: () => import('/@/views/demo/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: '/demo/params/common/details',
- name: 'paramsCommonDetails',
- component: () => import('/@/views/demo/params/common/details.vue'),
- meta: {
- title: 'message.router.paramsCommonDetails',
- isLink: '',
- isHide: true,
- isKeepAlive: true,
- isAffix: false,
- isIframe: false,
- roles: ['admin'],
- icon: 'ele-Comment',
- },
- },
- {
- path: '/demo/params/dynamic',
- name: 'paramsDynamic',
- component: () => import('/@/views/demo/params/dynamic/index.vue'),
- meta: {
- title: 'message.router.paramsDynamic',
- isLink: '',
- isHide: false,
- isKeepAlive: true,
- isAffix: false,
- isIframe: false,
- roles: ['admin'],
- icon: 'iconfont icon-dongtai',
- },
- },
- {
- path: '/demo/params/dynamic/details/:t/:id',
- name: 'paramsDynamicDetails',
- component: () => import('/@/views/demo/params/dynamic/details.vue'),
- meta: {
- title: 'message.router.paramsDynamicDetails',
- isLink: '',
- isHide: true,
- isKeepAlive: true,
- isAffix: false,
- isIframe: false,
- roles: ['admin'],
- icon: 'ele-Lightning',
- },
- },
- ],
- },
- {
- path: '/demo/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',
- },
- children: [
- {
- path: '/demo/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: '/demo/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: '/demo/chart',
- name: 'chartIndex',
- component: () => import('/@/views/demo/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: '/demo/tools',
- name: 'tools',
- component: () => import('/@/views/demo/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: '/demo/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: '/demo/iframes',
- name: 'layoutIfameView',
- component: () => import('/@/layout/routerView/iframes.vue'),
- meta: {
- title: 'message.router.layoutIfameView',
- isLink: 'https://nodejs.org/zh-cn/',
- isHide: false,
- isKeepAlive: false,
- isAffix: false,
- isIframe: true,
- roles: ['admin'],
- icon: 'iconfont icon-neiqianshujuchucun',
- },
- },
- ],
- },
- ]
- /**
- * 定义静态路由
- * @description 前端控制直接改 dynamicRoutes 中的路由,后端控制不需要修改,请求接口路由数据时,会覆盖 dynamicRoutes 第一个顶级 children 的内容(全屏,不包含 layout 中的路由出口)
- * @returns 返回路由菜单数据
- */
- export const staticRoutes: Array<RouteRecordRaw> = [
- {
- path: '/login',
- name: 'login',
- component: () => import('/@/views/login/index.vue'),
- meta: {
- title: '登录',
- },
- },
- /**
- * 提示:写在这里的为全屏界面,不建议写在这里
- * 请写在 `dynamicRoutes` 路由数组中
- */
- {
- path: '/visualizingDemo1',
- name: 'visualizingDemo1',
- component: () => import('/@/views/demo/visualizing/demo1.vue'),
- meta: {
- title: 'message.router.visualizingLinkDemo1',
- },
- },
- {
- path: '/visualizingDemo2',
- name: 'visualizingDemo2',
- component: () => import('/@/views/demo/visualizing/demo2.vue'),
- meta: {
- title: 'message.router.visualizingLinkDemo2',
- },
- },
- {
- path: '/dbInit',
- name: 'dbInit',
- component: () => import('/@/views/dbInit/index.vue'),
- meta: {
- title: '系统初始化',
- },
- },
- ];
|