diff --git a/erm.frontend/package.json b/erm.frontend/package.json index c02d1864..6a2e8894 100644 --- a/erm.frontend/package.json +++ b/erm.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.2.2", - "platform-core": "8.1.335", + "platform-core": "8.1.336", "quasar": "2.16.11", "tailwindcss": "3.4.10", "vue": "3.5.4", diff --git a/gradle.properties b/gradle.properties index b885a67e..33873594 100644 --- a/gradle.properties +++ b/gradle.properties @@ -38,7 +38,7 @@ application_version=1.0.0 platform_group=io.sc platform_version=8.1.48 platform_plugin_version=8.1.48 -platform_core_frontend_version=8.1.335 +platform_core_frontend_version=8.1.336 ########################################################### # dependencies version diff --git a/io.sc.engine.mv.frontend/package.json b/io.sc.engine.mv.frontend/package.json index 51c276a1..bb477721 100644 --- a/io.sc.engine.mv.frontend/package.json +++ b/io.sc.engine.mv.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.2.2", - "platform-core": "8.1.335", + "platform-core": "8.1.336", "quasar": "2.16.11", "tailwindcss": "3.4.10", "vue": "3.5.4", diff --git a/io.sc.engine.rule.frontend/package.json b/io.sc.engine.rule.frontend/package.json index 0a7af54f..2e4d1249 100644 --- a/io.sc.engine.rule.frontend/package.json +++ b/io.sc.engine.rule.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.2.2", - "platform-core": "8.1.335", + "platform-core": "8.1.336", "quasar": "2.16.11", "tailwindcss": "3.4.10", "vue": "3.5.4", diff --git a/io.sc.engine.rule.frontend/src/views/resources/designer/Processor.vue b/io.sc.engine.rule.frontend/src/views/resources/designer/Processor.vue index 308ed7f7..0c30b2a2 100644 --- a/io.sc.engine.rule.frontend/src/views/resources/designer/Processor.vue +++ b/io.sc.engine.rule.frontend/src/views/resources/designer/Processor.vue @@ -253,15 +253,14 @@ return arg.selected; }, click: (arg) => { - console.log('>>>>>>', arg); - // const type = arg.selected?.type; - // if ('DECISION_TREE' === type) { - // decisionTreeDialogRef.open(parameter.id, arg.selected?.id); - // } else if ('EXECUTION_FLOW' === type) { - // executionFlowDialogRef.open(parameter.id, arg.selected?.id); - // } else { - // arg._click(arg); - // } + const type = arg.selected?.type; + if ('DECISION_TREE' === type) { + decisionTreeDialogRef.open(parameter.id, arg.selected?.id); + } else if ('EXECUTION_FLOW' === type) { + executionFlowDialogRef.open(parameter.id, arg.selected?.id); + } else { + arg._click(arg); + } }, }, { @@ -1497,18 +1496,6 @@ } } " - @row-db-click=" - (args) => { - const type = args.row.type; - if ('DECISION_TREE' === type) { - decisionTreeDialogRef.open(args.row.id); - } else if ('EXECUTION_FLOW' === type) { - executionFlowDialogRef.open(args.row.id); - } else { - gridRef.edit(args.row); - } - } - " > diff --git a/io.sc.engine.st.frontend/package.json b/io.sc.engine.st.frontend/package.json index ba4582c4..f4be5f14 100644 --- a/io.sc.engine.st.frontend/package.json +++ b/io.sc.engine.st.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.2.2", - "platform-core": "8.1.335", + "platform-core": "8.1.336", "quasar": "2.16.11", "tailwindcss": "3.4.10", "vue": "3.5.4", diff --git a/io.sc.platform.core.frontend/package.json b/io.sc.platform.core.frontend/package.json index 24154358..59e336a0 100644 --- a/io.sc.platform.core.frontend/package.json +++ b/io.sc.platform.core.frontend/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.1.335", + "version": "8.1.336", "description": "前端核心包,用于快速构建前端的脚手架", "//main": "库的主文件", "main": "dist/platform-core.js", diff --git a/io.sc.platform.core.frontend/public/configure.js b/io.sc.platform.core.frontend/public/configure.js index 3bf8cdb6..76840a8b 100644 --- a/io.sc.platform.core.frontend/public/configure.js +++ b/io.sc.platform.core.frontend/public/configure.js @@ -1,40 +1,43 @@ // 在浏览器 window 对象中新建名为 APP 的容器变量, 用于存放平台的全局变量 window.APP = {}; // 全局配置 -window.APP.configure ={ - // 应用上下文路径 - webContextPath: '[(@{/})]'.startsWith('[')? '/' : '[(@{/})]', - - // 默认后端 API 请求的服务地址前缀 - apiContextPaths: { - DEFAULT: '[(@{/})]'.startsWith('[')? 'http://localhost:8080/' : '[(@{/})]', - }, - - // 前端运行环境 - // alone: 前端独立部署, 即前端打包后独立部署于 web 服务上(如: nginx, caddy 等) - // develop: 前端运行在开发环境, 即前端在开发环境下运行(如: webpack) - // backend: 前端运行在后端环境, 即前后端一起打包后部署在应用服务器上(如: tomcat, undertow, jeety等) - fontendScenario: 'develop', - - // router 历史模式 - routerHistoryMode: 'hash', - - // 是否启用本地 mock - enableLocalMock : false, - - // mock 请求响应时间(单位:毫秒) - localMockTimeout : 10, - - // 是否启用使用远程服务端配置 - enableRemoteConfigure : true, - - // 是否首先使用本地路由 - useLocaleRouterFirst : true, - - // axios 配置 - axios : { - baseURL: '', - timeout: 1000 * 60, - crossdomain: true - } -} \ No newline at end of file +window.APP.configure = { + // 项目名称 + projectName: '', + + // 应用上下文路径 + webContextPath: '[(@{/})]'.startsWith('[') ? '/' : '[(@{/})]', + + // 默认后端 API 请求的服务地址前缀 + apiContextPaths: { + DEFAULT: '[(@{/})]'.startsWith('[') ? 'http://localhost:8080/' : '[(@{/})]', + }, + + // 前端运行环境 + // alone: 前端独立部署, 即前端打包后独立部署于 web 服务上(如: nginx, caddy 等) + // develop: 前端运行在开发环境, 即前端在开发环境下运行(如: webpack) + // backend: 前端运行在后端环境, 即前后端一起打包后部署在应用服务器上(如: tomcat, undertow, jeety等) + fontendScenario: 'develop', + + // router 历史模式 + routerHistoryMode: 'hash', + + // 是否启用本地 mock + enableLocalMock: false, + + // mock 请求响应时间(单位:毫秒) + localMockTimeout: 10, + + // 是否启用使用远程服务端配置 + enableRemoteConfigure: true, + + // 是否首先使用本地路由 + useLocaleRouterFirst: true, + + // axios 配置 + axios: { + baseURL: '', + timeout: 1000 * 60, + crossdomain: true, + }, +}; diff --git a/io.sc.platform.core.frontend/template-project/package.json b/io.sc.platform.core.frontend/template-project/package.json index adcdfc77..34d98d89 100644 --- a/io.sc.platform.core.frontend/template-project/package.json +++ b/io.sc.platform.core.frontend/template-project/package.json @@ -1,6 +1,6 @@ { "name": "platform-core", - "version": "8.1.335", + "version": "8.1.336", "description": "前端核心包,用于快速构建前端的脚手架", "private": false, "keywords": [], @@ -105,7 +105,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.2.2", - "platform-core": "8.1.335", + "platform-core": "8.1.336", "quasar": "2.16.11", "svg-path-commander": "2.0.10", "tailwindcss": "3.4.10", diff --git a/io.sc.platform.core.frontend/template-project/tsconfig.json b/io.sc.platform.core.frontend/template-project/tsconfig.json index c23c83d1..5991c559 100644 --- a/io.sc.platform.core.frontend/template-project/tsconfig.json +++ b/io.sc.platform.core.frontend/template-project/tsconfig.json @@ -1,4 +1,7 @@ { + "exclude": [ + "node_modules" + ], "allowJs": true, "compilerOptions": { "target": "ES6", diff --git a/io.sc.platform.core.frontend/tsconfig.json b/io.sc.platform.core.frontend/tsconfig.json index ba796da5..56c995c5 100644 --- a/io.sc.platform.core.frontend/tsconfig.json +++ b/io.sc.platform.core.frontend/tsconfig.json @@ -1,26 +1,25 @@ { - "include": [ - "src/platform/index.ts" - ], + "include": ["src/platform/index.ts"], + "exclude": ["node_modules"], "allowJs": true, "compilerOptions": { - "declaration": true, /* 通过 tsc 命令时可自动生成 .d.ts 文件, 每个 ts 生成一个 .d.ts 文件 */ - "declarationDir": "dist/types", /* 自动生成 .d.ts 文件存储的根目录 */ - "declarationMap": true, /* 自动生成 .d.ts.map 文件, 便于 IDE 定位源码位置 */ - "target": "ES6", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - "module": "node16", /* Specify what module code is generated. */ - "strict": true, /* Enable all strict type-checking options. */ - "jsx": "preserve", /* Specify what JSX code is generated. */ + "declaration": true /* 通过 tsc 命令时可自动生成 .d.ts 文件, 每个 ts 生成一个 .d.ts 文件 */, + "declarationDir": "dist/types" /* 自动生成 .d.ts 文件存储的根目录 */, + "declarationMap": true /* 自动生成 .d.ts.map 文件, 便于 IDE 定位源码位置 */, + "target": "ES6" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, + "module": "node16" /* Specify what module code is generated. */, + "strict": true /* Enable all strict type-checking options. */, + "jsx": "preserve" /* Specify what JSX code is generated. */, "jsxImportSource": "vue", - "noEmit":true, /* Disable emitting files from a compilation. */ - "allowImportingTsExtensions":true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ - "noImplicitAny": false, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - "moduleResolution": "node16", /* Specify how TypeScript looks up a file from a given module specifier. */ - "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - "baseUrl": ".", /* Specify the base directory to resolve non-relative module names. */ - "paths": { /* Specify a set of entries that re-map imports to additional lookup locations. */ - "@/*": ["src/*"] + "noEmit": true /* Disable emitting files from a compilation. */, + "allowImportingTsExtensions": true /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */, + "noImplicitAny": false /* Enable error reporting for expressions and declarations with an implied 'any' type. */, + "moduleResolution": "node16" /* Specify how TypeScript looks up a file from a given module specifier. */, + "sourceMap": true /* Create source map files for emitted JavaScript files. */, + "baseUrl": "." /* Specify the base directory to resolve non-relative module names. */, + "paths": { + /* Specify a set of entries that re-map imports to additional lookup locations. */ "@/*": ["src/*"] } } } diff --git a/io.sc.platform.core.frontend/webpack.config.common.cjs b/io.sc.platform.core.frontend/webpack.config.common.cjs index bb04dd8a..0c68599a 100644 --- a/io.sc.platform.core.frontend/webpack.config.common.cjs +++ b/io.sc.platform.core.frontend/webpack.config.common.cjs @@ -129,7 +129,6 @@ module.exports = { filename: `index.html`, minify: false, inject: 'body', - timestamp: new Date().getTime(), }), // 拷贝静态资源到 output.path 指定的目录 diff --git a/io.sc.platform.developer.frontend/package.json b/io.sc.platform.developer.frontend/package.json index 232e1c4c..0f41ec04 100644 --- a/io.sc.platform.developer.frontend/package.json +++ b/io.sc.platform.developer.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.2.2", - "platform-core": "8.1.335", + "platform-core": "8.1.336", "quasar": "2.16.11", "svg-path-commander": "2.0.10", "tailwindcss": "3.4.10", diff --git a/io.sc.platform.developer.frontend/src/views/frontend/SvgPathEditor.vue b/io.sc.platform.developer.frontend/src/views/frontend/SvgPathEditor.vue index ad642c3d..1507160b 100644 --- a/io.sc.platform.developer.frontend/src/views/frontend/SvgPathEditor.vue +++ b/io.sc.platform.developer.frontend/src/views/frontend/SvgPathEditor.vue @@ -8,6 +8,20 @@ import { onMounted, ref } from 'vue'; const iframeRef = ref(); onMounted(() => { - iframeRef.value.src = Environment.getWebContextPath() + 'svg-path-editor/index.html'; + // 前端运行环境 + // alone: 前端独立部署, 即前端打包后独立部署于 web 服务上(如: nginx, caddy 等) + // develop: 前端运行在开发环境, 即前端在开发环境下运行(如: webpack) + // backend: 前端运行在后端环境, 即前后端一起打包后部署在应用服务器上(如: tomcat, undertow, jeety等) + if (Environment.getFontendScenario() === 'develop') { + if (Environment.getModuleName() === 'io.sc.platform.developer.frontend') { + // 如果当前启动的是包含该功能的前端项目, 则直接访问 public 目录下相对应的页面 + iframeRef.value.src = Environment.getWebContextPath() + 'svg-path-editor/index.html'; + } else { + // 如果当前启动的是未包含该功能的前端项目, 则直接访问后端系统相对应的页面 + iframeRef.value.src = Environment.apiContextPath('io.sc.platform.developer.frontend/svg-path-editor/index.html'); + } + } else { + iframeRef.value.src = Environment.getWebContextPath() + 'io.sc.platform.developer.frontend/svg-path-editor/index.html'; + } }); diff --git a/io.sc.platform.developer/src/main/resources/META-INF/platform/plugins/security.json b/io.sc.platform.developer/src/main/resources/META-INF/platform/plugins/security.json new file mode 100644 index 00000000..eb344e9c --- /dev/null +++ b/io.sc.platform.developer/src/main/resources/META-INF/platform/plugins/security.json @@ -0,0 +1,5 @@ +{ + "permitPatterns":[ + "/io.sc.platform.developer.frontend/svg-path-editor/index.html" + ] +} \ No newline at end of file diff --git a/io.sc.platform.lcdp.frontend/package.json b/io.sc.platform.lcdp.frontend/package.json index 542ebe94..855efc58 100644 --- a/io.sc.platform.lcdp.frontend/package.json +++ b/io.sc.platform.lcdp.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.2.2", - "platform-core": "8.1.335", + "platform-core": "8.1.336", "quasar": "2.16.11", "tailwindcss": "3.4.10", "vue": "3.5.4", diff --git a/io.sc.platform.lcdp.frontend/src/views/bpm/ProcessDesigner.vue b/io.sc.platform.lcdp.frontend/src/views/bpm/ProcessDesigner.vue index b04f84e1..8d54131b 100644 --- a/io.sc.platform.lcdp.frontend/src/views/bpm/ProcessDesigner.vue +++ b/io.sc.platform.lcdp.frontend/src/views/bpm/ProcessDesigner.vue @@ -45,10 +45,20 @@ const open = (title: string, id: string) => { processId = id; dialogRef.value.show(); nextTick(() => { - if (Environment.getFontendScenario() === 'alone' || Environment.getFontendScenario() === 'backend') { - processDesignerIframeRef.value.src = Environment.getWebContextPath() + 'io.sc.platform.lcdp.frontend/flowable/modeler/index.html#/editor/' + processId; + // 前端运行环境 + // alone: 前端独立部署, 即前端打包后独立部署于 web 服务上(如: nginx, caddy 等) + // develop: 前端运行在开发环境, 即前端在开发环境下运行(如: webpack) + // backend: 前端运行在后端环境, 即前后端一起打包后部署在应用服务器上(如: tomcat, undertow, jeety等) + if (Environment.getFontendScenario() === 'develop') { + if (Environment.getModuleName() === 'io.sc.platform.lcdp.frontend') { + // 如果当前启动的是包含该功能的前端项目, 则直接访问 public 目录下相对应的页面 + processDesignerIframeRef.value.src = Environment.getWebContextPath() + 'flowable/modeler/index.html#/editor/' + processId; + } else { + // 如果当前启动的是未包含该功能的前端项目, 则直接访问后端系统相对应的页面 + processDesignerIframeRef.value.src = Environment.apiContextPath('io.sc.platform.lcdp.frontend/flowable/modeler/index.html#/editor/' + processId); + } } else { - processDesignerIframeRef.value.src = Environment.getWebContextPath() + 'flowable/modeler/index.html#/editor/' + processId; + processDesignerIframeRef.value.src = Environment.getWebContextPath() + 'io.sc.platform.lcdp.frontend/flowable/modeler/index.html#/editor/' + processId; } }); }; diff --git a/io.sc.platform.mvc.frontend/package.json b/io.sc.platform.mvc.frontend/package.json index badcaae5..cb5ae758 100644 --- a/io.sc.platform.mvc.frontend/package.json +++ b/io.sc.platform.mvc.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.2.2", - "platform-core": "8.1.335", + "platform-core": "8.1.336", "quasar": "2.16.11", "tailwindcss": "3.4.10", "vue": "3.5.4", diff --git a/io.sc.platform.scheduler.manager.frontend/package.json b/io.sc.platform.scheduler.manager.frontend/package.json index 2ab7b86f..7ba33fce 100644 --- a/io.sc.platform.scheduler.manager.frontend/package.json +++ b/io.sc.platform.scheduler.manager.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.2.2", - "platform-core": "8.1.335", + "platform-core": "8.1.336", "quasar": "2.16.11", "tailwindcss": "3.4.10", "vue": "3.5.4", diff --git a/io.sc.platform.system.frontend/package.json b/io.sc.platform.system.frontend/package.json index 0b8a61e5..a5955733 100644 --- a/io.sc.platform.system.frontend/package.json +++ b/io.sc.platform.system.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.2.2", - "platform-core": "8.1.335", + "platform-core": "8.1.336", "quasar": "2.16.11", "tailwindcss": "3.4.10", "vue": "3.5.4", diff --git a/io.sc.standard.frontend/package.json b/io.sc.standard.frontend/package.json index d2abc785..45aa6464 100644 --- a/io.sc.standard.frontend/package.json +++ b/io.sc.standard.frontend/package.json @@ -92,7 +92,7 @@ "luckyexcel": "1.0.1", "mockjs": "1.1.0", "pinia": "2.2.2", - "platform-core": "8.1.335", + "platform-core": "8.1.336", "quasar": "2.16.11", "tailwindcss": "3.4.10", "vue": "3.5.4",