153 lines
3.7 KiB
TypeScript
153 lines
3.7 KiB
TypeScript
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<RouteRecordRaw> = [
|
||
{
|
||
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<RouteRecordRaw> = [
|
||
{
|
||
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<RouteRecordRaw> = [
|
||
{
|
||
path: '/',
|
||
name: '/',
|
||
component: () => import('/@/layout/index.vue'),
|
||
redirect: '/home',
|
||
meta: {
|
||
isKeepAlive: true,
|
||
},
|
||
children: [],
|
||
},
|
||
];
|