559 Star 8.3K Fork 2.4K

lyt-Top/vue-next-admin

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
route.ts 32.30 KB
一键复制 编辑 原始数据 按行查看 历史
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246
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<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: '/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/role',
name: 'systemRole',
component: () => import('/@/views/system/role/index.vue'),
meta: {
title: 'message.router.systemRole',
isLink: '',
isHide: false,
isKeepAlive: true,
isAffix: false,
isIframe: false,
roles: ['admin'],
icon: 'ele-ColdDrink',
},
},
{
path: '/system/user',
name: 'systemUser',
component: () => import('/@/views/system/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/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: '/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: true,
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: true,
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<RouteRecordRaw> = [
{
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',
},
},
];
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
TypeScript
1
https://gitee.com/lyt-top/vue-next-admin.git
git@gitee.com:lyt-top/vue-next-admin.git
lyt-top
vue-next-admin
vue-next-admin
master

搜索帮助