import { RouteRecordRaw } from 'vue-router'; import {dynamicRoutesFlow, staticRoutesFlow} from "/@/flow/support/extend"; /** * 建议:路由 path 路径与文件夹名称相同,找文件可浏览器地址找,方便定位文件位置 * * 路由meta对象参数说明 * meta: { * title: 菜单栏及 tagsView 栏、菜单搜索名称(国际化) * isLink: 是否超链接菜单,开启外链条件,`1、isLink: 链接地址不为空 2、isIframe:false` * isHide: 是否隐藏此路由 * isKeepAlive: 是否缓存组件状态 * isAuth: 是否需要认证才能进入的页面 * 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 { isLink?: string; isHide?: boolean; isAuth?: boolean; isKeepAlive?: boolean; isAffix?: boolean; isIframe?: boolean; roles?: string[]; icon?: string; activeMenu?: string; // 指定菜单高亮的路径 } } /** * 定义静态路由(默认路由) * 前端添加路由,请在此处加 */ export const dynamicRoutes: Array = [ { path: '/home', name: 'router.home', component: () => import('/@/views/home/index.vue'), meta: { isLink: '', isHide: false, isKeepAlive: true, isAffix: true, isIframe: false, icon: 'iconfont icon-shouye', }, }, { path: '/personal', name: 'router.personal', component: () => import('/@/views/admin/system/user/personal.vue'), meta: { isHide: true, }, }, { path: '/professional/professionalteacherstationchange/print', name: 'professionalteacherstationchange.print', component: () => import('/@/views/professional/professionalteacherstationchange/print.vue'), meta: { isHide: true, // 隐藏路由,不在菜单中显示 isAuth: true // 需要认证,在 layout 中显示 }, }, ...dynamicRoutesFlow ]; /** * 定义静态路由(默认路由) */ export const staticRoutes: Array = [ { path: '/login', name: 'staticRoutes.login', component: () => import('/@/views/login/index.vue'), meta: { isAuth: false, }, }, { path: '/authredirect', name: 'staticRoutes.authredirect', component: () => import('/@/views/login/component/authredirect.vue'), meta: { isAuth: false, }, }, { path: '/aiFlow/process/:id', name: 'AI 流程编排', component: () => import('/@/views/knowledge/aiFlow/index.vue'), meta: { isAuth: true, }, }, { path: '/purchase/purchasingrequisition/add', name: 'purchase.purchasingrequisition.add', component: () => import('/@/views/purchase/purchasingrequisition/add.vue'), meta: { isAuth: true, }, }, ...staticRoutesFlow ]; /** * 定义404、401界面 */ export const notFoundAndNoPower = [ { path: '/:path(.*)*', name: 'staticRoutes.notFound', component: () => import('/@/views/error/404.vue'), meta: { isHide: true, }, }, { path: '/401', name: 'staticRoutes.noPower', component: () => import('/@/views/error/401.vue'), meta: { isHide: true, }, }, ]; /** * 基础性路由 * * 所有节点都是挂载此节点下 */ export const baseRoutes: Array = [ { path: '/', name: '/', component: () => import('/@/layout/index.vue'), redirect: '/home', meta: { isKeepAlive: true, }, children: [], }, ];