From b8ed931eb625e385fb377bab48394931cc18ab77 Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Wed, 5 Feb 2025 19:41:33 +0800 Subject: [PATCH] chore: 1 --- apps/web-antd/src/router/routes/index.ts | 6 +++++- apps/web-antd/src/router/routes/local.ts | 15 +++------------ .../src/router/routes/workflow-iframe.ts | 18 ++++++++++++++++++ 3 files changed, 26 insertions(+), 13 deletions(-) create mode 100644 apps/web-antd/src/router/routes/workflow-iframe.ts diff --git a/apps/web-antd/src/router/routes/index.ts b/apps/web-antd/src/router/routes/index.ts index e6fb1440..1a92413f 100644 --- a/apps/web-antd/src/router/routes/index.ts +++ b/apps/web-antd/src/router/routes/index.ts @@ -3,6 +3,7 @@ import type { RouteRecordRaw } from 'vue-router'; import { mergeRouteModules, traverseTreeValues } from '@vben/utils'; import { coreRoutes, fallbackNotFoundRoute } from './core'; +import { workflowIframeRoutes } from './workflow-iframe'; const dynamicRouteFiles = import.meta.glob('./modules/**/*.ts', { eager: true, @@ -26,11 +27,14 @@ const externalRoutes: RouteRecordRaw[] = []; const routes: RouteRecordRaw[] = [ ...coreRoutes, ...externalRoutes, + ...workflowIframeRoutes, fallbackNotFoundRoute, ]; +/** 基本路由(登录, 第三方登录, 注册等) + workflowIframe路由不需要拦截 */ +const basicRoutes = [...coreRoutes, ...workflowIframeRoutes]; /** 基本路由列表,这些路由不需要进入权限拦截 */ -const coreRouteNames = traverseTreeValues(coreRoutes, (route) => route.name); +const coreRouteNames = traverseTreeValues(basicRoutes, (route) => route.name); /** 有权限校验的路由列表,包含动态路由和静态路由 */ const accessRoutes = [...dynamicRoutes, ...staticRoutes]; diff --git a/apps/web-antd/src/router/routes/local.ts b/apps/web-antd/src/router/routes/local.ts index d5f8ab52..1407879f 100644 --- a/apps/web-antd/src/router/routes/local.ts +++ b/apps/web-antd/src/router/routes/local.ts @@ -60,6 +60,9 @@ const localRoutes: RouteRecordStringComponent[] = [ name: 'WorkflowDesigner', path: '/workflow/designer', }, + /** + * 需要添加iframe路由 同目录的./workflow-iframe.ts + */ { component: 'workflow/leave/leave-form', meta: { @@ -71,18 +74,6 @@ const localRoutes: RouteRecordStringComponent[] = [ name: 'WorkflowLeaveIndex', path: '/workflow/leaveEdit/index', }, - // 这里是iframe使用的 去掉外层的BasicLayout - { - component: 'workflow/leave/leave-form', - meta: { - title: '请假申请', - hideInMenu: true, - // 不使用基础布局(仅在顶级生效) - noBasicLayout: true, - }, - name: 'WorkflowLeaveInner', - path: '/workflow/leaveEdit/index/iframe', - }, ]; /** diff --git a/apps/web-antd/src/router/routes/workflow-iframe.ts b/apps/web-antd/src/router/routes/workflow-iframe.ts new file mode 100644 index 00000000..137088f6 --- /dev/null +++ b/apps/web-antd/src/router/routes/workflow-iframe.ts @@ -0,0 +1,18 @@ +import type { RouteRecordRaw } from '@vben/types'; + +/** + * 该文件存放workflow表单的iframe内嵌路由 + * 不需要权限认证 少走两个接口😅 + */ +export const workflowIframeRoutes: RouteRecordRaw[] = [ + // 这里是iframe使用的 去掉外层的BasicLayout + { + name: 'WorkflowLeaveInner', + path: '/workflow/leaveEdit/index/iframe', + component: () => import('#/views/workflow/leave/leave-form.vue'), + meta: { + hideInTab: true, + title: '请假申请', + }, + }, +];