diff --git a/Dockerfile b/Dockerfile
index bccc1a06e6f4624d3fdf1359585666891b51f489..5039872ca468e07134ce2671381e2e5b1a777c38 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -6,9 +6,16 @@ ADD console/target/*.jar juggle-server.jar
EXPOSE 9127
+ENV BASE_DIR="/home/juggle" \
+ JVM_XMS="1g" \
+ JVM_XMX="1g" \
+ JVM_MS="128m" \
+ JVM_MMS="320m" \
+ JVM_GC_LOG="false" \
+ TIME_ZONE="Asia/Shanghai"
+
COPY console/src/main/resources/data/application-default.properties /home/juggle/conf/application.properties
COPY console/src/main/resources/data/db_juggle.mv.db /home/juggle/data/
+COPY console/src/main/resources/data/docker-startup.sh /home/juggle/bin/
-ENV JAVA_OPTS=" -Xss228k -Xmx512m -Xms512m -Duser.timezone=GMT+08 "
-
-ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /juggle-server.jar --spring.config.additional-location=/home/juggle/conf/application.properties" ]
\ No newline at end of file
+ENTRYPOINT ["sh","/home/juggle/bin/docker-startup.sh"]
\ No newline at end of file
diff --git a/README.md b/README.md
index 2705927851507b5768c18499a559b8d0279ee640..542ead76c43d9896e18f322feaa9d44e59773cbc 100644
--- a/README.md
+++ b/README.md
@@ -38,6 +38,37 @@ Juggle是一个接口编排的低代码工具,通过它可以快速将简单
7.全信创支持,支持MySql,达梦,TiDB,OceanBase等数据库
+## 流程说明
+Juggle支持创建多种不同类型的流程,不同类型的流程解决不同类型的业务场景,下面将对每种流程的详细介绍
+
+### 1.同步流程
+
+**描述:** 即流程的执行结果是同步的返回,调用方能直接获取流程结果
+
+**场景:** 对流程实时性要求比较高的场景,如:微服务接口编排,BFF层接口等
+
+
+### 2.异步流程
+
+**描述:** 即流程的执行结果是异步的返回,调用方需要通过另外的接口获取异步流程的结果
+
+**场景:** 对流程实时性要求不高或者流程执行比较耗时的场景,如:数据清洗等
+
+
+### 3.定时流程
+
+**描述:** 即不太关心流程的执行结果,需要定时定点或周期性的执行流程
+
+**场景:** 对流程实时性要求不高或者需要定时定点周期性执行的场景,如:数据定时同步等
+
+
+### 4.监听流程
+
+**描述:** 即不太关心流程的执行结果,需要监听业务系统MQ的消息来执行流程
+
+**场景:** 需要直接监听业务系统MQ消息后出现业务逻辑的场景,如:数据清洗,数据标注等
+
+
## 系统截图
1.灵活流程设计
diff --git a/common/src/main/java/net/somta/juggle/common/constants/ApplicationConstants.java b/common/src/main/java/net/somta/juggle/common/constants/ApplicationConstants.java
index b26928ca6b61f41a220cc7543401c6c0812b7543..4deecde6f1a212a81da79fa931c431be5bb06c3c 100644
--- a/common/src/main/java/net/somta/juggle/common/constants/ApplicationConstants.java
+++ b/common/src/main/java/net/somta/juggle/common/constants/ApplicationConstants.java
@@ -7,8 +7,12 @@ public class ApplicationConstants {
public static final String JUGGLE_SERVER_VERSION = "/v1";
+ public static final String JUGGLE_API_PREFIX = "/api" + JUGGLE_SERVER_VERSION;
+
public static final String JUGGLE_OPEN_API_PREFIX = "/open" + JUGGLE_SERVER_VERSION;
+ public static final String COLON = ":";
+
/**
* 应用统一前缀
*/
diff --git a/console-ui/package.json b/console-ui/package.json
index 86c0f37147b80d98717ec97fb55630ecd5c4e44c..cf97b887ebbd5c73365464991cd7244909e483ab 100644
--- a/console-ui/package.json
+++ b/console-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "juggle",
- "version": "1.3.1",
+ "version": "1.3.2",
"private": true,
"scripts": {
"dev": "node scripts/predev.js && vite",
@@ -13,7 +13,7 @@
},
"dependencies": {
"@types/d3": "7.4.3",
- "axios": "1.6.7",
+ "axios": "1.8.2",
"crypto-js": "4.2.0",
"d3": "7.8.5",
"dayjs": "1.11.10",
@@ -31,7 +31,7 @@
"@types/crypto-js": "4.2.1",
"@types/node": "20.10.4",
"@types/qrcode": "1.5.5",
- "@vitejs/plugin-vue": "4.5.2",
+ "@vitejs/plugin-vue": "5.1.0",
"@vue/eslint-config-prettier": "10.0.0",
"@vue/eslint-config-typescript": "14.0.0",
"@vue/tsconfig": "0.4.0",
@@ -41,7 +41,7 @@
"npm-run-all": "4.1.5",
"prettier": "3.1.0",
"typescript": "5.3.3",
- "vite": "5.2.6",
+ "vite": "6.3.4",
"vite-plugin-monaco-editor": "1.1.0",
"vue-tsc": "1.8.25"
}
diff --git a/console-ui/public/suite/siliconflow.png b/console-ui/public/suite/siliconflow.png
new file mode 100644
index 0000000000000000000000000000000000000000..63896bf4d8597784fca929354aefea17c4be7763
Binary files /dev/null and b/console-ui/public/suite/siliconflow.png differ
diff --git a/console-ui/src/assets/logo.png b/console-ui/src/assets/logo.png
new file mode 100644
index 0000000000000000000000000000000000000000..7790a8afa509a11fd1114f8351c7c7a43771da3e
Binary files /dev/null and b/console-ui/src/assets/logo.png differ
diff --git a/console-ui/src/assets/logo.svg b/console-ui/src/assets/logo.svg
deleted file mode 100644
index 7565660356e5b3723c9c33d508b830c9cfbea29f..0000000000000000000000000000000000000000
--- a/console-ui/src/assets/logo.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/console-ui/src/components/common/ClassifyFilter.vue b/console-ui/src/components/common/ClassifyFilter.vue
new file mode 100644
index 0000000000000000000000000000000000000000..63e4e0e77a41193bc40ed0b33cf4c5d9a4d6cb46
--- /dev/null
+++ b/console-ui/src/components/common/ClassifyFilter.vue
@@ -0,0 +1,174 @@
+
+
+
+
+
+
+ {{ item.title }} :
+
+
暂无数据 ~
+
+
+ -
+
+
+
+
+ {{ option.label }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/console-ui/src/components/layout/aside/LayoutAside.vue b/console-ui/src/components/layout/aside/LayoutAside.vue
index f52fc383d4c79980f7fed712fe87c3742a0cd446..639a7577501d22b329bc511114f8d38a106614f4 100644
--- a/console-ui/src/components/layout/aside/LayoutAside.vue
+++ b/console-ui/src/components/layout/aside/LayoutAside.vue
@@ -20,14 +20,10 @@ import IconSetting from "@/components/icons/IconSetting.vue";
流程定义
流程列表
-
-
-
- 套件
-
- 套件
- 接口
-
+
+
+ 套件
+
对象
diff --git a/console-ui/src/components/layout/header/AppLogo.vue b/console-ui/src/components/layout/header/AppLogo.vue
index a4508727a95642648c89bc9bf63bfd0b2b7786d1..abb2a1209779812d70eec92328ed03fc3586cce5 100644
--- a/console-ui/src/components/layout/header/AppLogo.vue
+++ b/console-ui/src/components/layout/header/AppLogo.vue
@@ -1,5 +1,5 @@
- JUGGLE
+ 
JUGGLE
diff --git a/console-ui/src/const/application.ts b/console-ui/src/const/application.ts
new file mode 100644
index 0000000000000000000000000000000000000000..6006d27f508d586ae4eff363ec552367a7f7db11
--- /dev/null
+++ b/console-ui/src/const/application.ts
@@ -0,0 +1,3 @@
+
+export const JUGGLE_SERVER_VERSION = "/v1";
+export const JUGGLE_API_PREFIX = "/api" + JUGGLE_SERVER_VERSION;
\ No newline at end of file
diff --git a/console-ui/src/service/api/api.ts b/console-ui/src/service/api/api.ts
index 33323e4884241424012196f44f300da2d5563bb6..9fe5054179e3b5a2b386f3df97ea8a748bfcedf1 100644
--- a/console-ui/src/service/api/api.ts
+++ b/console-ui/src/service/api/api.ts
@@ -1,5 +1,6 @@
import type { ApiInfo } from '@/typings';
import { request, type ResponsePageResult, type ResponseResult } from '../base';
+import {JUGGLE_API_PREFIX} from "@/const/application.ts";
export async function listQuery(params: {
pageNum: number;
@@ -8,7 +9,7 @@ export async function listQuery(params: {
apiName?: string;
apiUrl?: string;
}): ResponsePageResult {
- return request.post('/v1/api/page', params);
+ return request.post(JUGGLE_API_PREFIX+'/api/page', params);
}
export async function listAdd(params: {
@@ -19,7 +20,7 @@ export async function listAdd(params: {
apiRequestType: string;
apiRequestContentType: string;
}): ResponseResult {
- return request.post('/v1/api/add', params);
+ return request.post(JUGGLE_API_PREFIX+'/api/add', params);
}
export async function listUpdate(params: {
@@ -31,29 +32,29 @@ export async function listUpdate(params: {
apiRequestType?: string;
apiRequestContentType?: string;
}): ResponseResult {
- return request.put('/v1/api/update', params);
+ return request.put(JUGGLE_API_PREFIX+'/api/update', params);
}
export async function listDelete(id: number): ResponseResult {
- return request.delete(`/v1/api/delete/${id}`);
+ return request.delete(JUGGLE_API_PREFIX+`/api/delete/${id}`);
}
export async function queryApiInfo(id: number): ResponseResult {
- return request.get(`/v1/api/info/${id}`);
+ return request.get(JUGGLE_API_PREFIX+`/api/info/${id}`);
}
export async function queryApiInfoByCode(apiCode: string): ResponseResult {
- return request.get(`/v1/api/info/code/${apiCode}`);
+ return request.get(JUGGLE_API_PREFIX+`/api/info/code/${apiCode}`);
}
export function debugApi(apiId: number, params: { headerData: any; inputParamData: any }): ResponseResult {
- return request.post(`/v1/api/debug/${apiId}`, params);
+ return request.post(JUGGLE_API_PREFIX+`/api/debug/${apiId}`, params);
}
export async function getApiListBySuiteId(suiteId: number): ResponseResult {
- return request.post(`/v1/api/getApiListBySuiteId/${suiteId}`);
+ return request.post(JUGGLE_API_PREFIX+`/api/getApiListBySuiteId/${suiteId}`);
}
export async function getApiListBySuiteCode(suiteCode: string): ResponseResult {
- return request.post(`/v1/api/getApiListBySuiteCode/${suiteCode}`);
+ return request.post(JUGGLE_API_PREFIX+`/api/getApiListBySuiteCode/${suiteCode}`);
}
diff --git a/console-ui/src/service/api/common.ts b/console-ui/src/service/api/common.ts
index 04d4f601c1249b89baa10ae4c39f9376579d9117..b7823a192f55473afb0de6fda84b722b072b11ec 100644
--- a/console-ui/src/service/api/common.ts
+++ b/console-ui/src/service/api/common.ts
@@ -1,5 +1,6 @@
import { request, ResponseResult } from '@/service/base';
+import {JUGGLE_API_PREFIX} from "@/const/application.ts";
export function listDataType(): ResponseResult {
- return request.get('/v1/dataType/list');
+ return request.get(JUGGLE_API_PREFIX+'/dataType/list');
}
diff --git a/console-ui/src/service/api/dataSource.ts b/console-ui/src/service/api/dataSource.ts
index 5b3b9b5d7a4802d6296e492254cec0e1b6d1aa7d..dd3806f1c00a33f82364b9b4450e64ae7330d6d1 100644
--- a/console-ui/src/service/api/dataSource.ts
+++ b/console-ui/src/service/api/dataSource.ts
@@ -1,4 +1,5 @@
import { request, ResponsePageResult, type ResponseResult } from '@/service/base';
+import {JUGGLE_API_PREFIX} from "@/const/application.ts";
export async function addDataSource(params: {
dataSourceName: string;
@@ -14,11 +15,11 @@ export async function addDataSource(params: {
maxPoolSize: number;
queryTimeout: number;
}): ResponseResult {
- return request.post(`/v1/datasource/add`, params);
+ return request.post(JUGGLE_API_PREFIX+`/datasource/add`, params);
}
export async function deleteDataSourceById(datasourceId: number): ResponseResult {
- return request.delete(`/v1/datasource/delete/${datasourceId}`);
+ return request.delete(JUGGLE_API_PREFIX+`/datasource/delete/${datasourceId}`);
}
export async function updateDataSourceById(params: {
@@ -36,21 +37,21 @@ export async function updateDataSourceById(params: {
maxPoolSize: number;
queryTimeout: number;
}): ResponseResult {
- return request.put(`/v1/datasource/update`, params);
+ return request.put(JUGGLE_API_PREFIX+`/datasource/update`, params);
}
export async function queryDataSourceInfo(dataSourceId: number): ResponsePageResult {
- return request.get('/v1/datasource/info/' + dataSourceId);
+ return request.get(JUGGLE_API_PREFIX+'/datasource/info/' + dataSourceId);
}
export async function dataSourceList(): ResponsePageResult {
- return request.get('/v1/datasource/list');
+ return request.get(JUGGLE_API_PREFIX+'/datasource/list');
}
export async function dataSourcePage(params: { pageNum: number; pageSize: number }): ResponsePageResult {
- return request.post('/v1/datasource/page', params);
+ return request.post(JUGGLE_API_PREFIX+'/datasource/page', params);
}
export async function connectDataSource(dataSourceId: number): ResponsePageResult {
- return request.get('/v1/datasource/connect/' + dataSourceId);
+ return request.get(JUGGLE_API_PREFIX+'/datasource/connect/' + dataSourceId);
}
diff --git a/console-ui/src/service/api/flow.ts b/console-ui/src/service/api/flow.ts
index b39f74344d391900f4c8f8ab9d767e1f3be9beee..92e0e27fdf35dd627de1ef60165a2c791698b8c8 100644
--- a/console-ui/src/service/api/flow.ts
+++ b/console-ui/src/service/api/flow.ts
@@ -1,13 +1,14 @@
import { request, ResponsePageResult, ResponseResult } from '@/service/base';
+import {JUGGLE_API_PREFIX} from "@/const/application.ts";
export function updateFlowStatus(flowId: number, flowStatus: number): ResponsePageResult {
- return request.put('/v1/flow/status', { flowId: flowId, flowStatus: flowStatus });
+ return request.put(JUGGLE_API_PREFIX+'/flow/status', { flowId: flowId, flowStatus: flowStatus });
}
export async function flowPage(params: { pageNum: number; pageSize: number; flowName?: string; flowType?: string }): ResponsePageResult {
- return request.post('/v1/flow/page', params);
+ return request.post(JUGGLE_API_PREFIX+'/flow/page', params);
}
export async function deleteFlow(id: number): ResponseResult {
- return request.delete(`/v1/flow/delete/${id}`);
+ return request.delete(JUGGLE_API_PREFIX+`/flow/delete/${id}`);
}
diff --git a/console-ui/src/service/api/flowDefine.ts b/console-ui/src/service/api/flowDefine.ts
index 627ffd5439f40644b6faab262c3306e8b6cbf35a..3fcb5c6a0c43548666fc159ac8b66a5d110b732f 100644
--- a/console-ui/src/service/api/flowDefine.ts
+++ b/console-ui/src/service/api/flowDefine.ts
@@ -1,6 +1,7 @@
import { request, type ResponsePageResult, type ResponseResult } from '../base';
import { FlowDefineInfo, InputParams, OutputParams } from '@/typings';
import { FlowVariable } from '@/views/flow/design';
+import {JUGGLE_API_PREFIX} from "@/const/application.ts";
export async function addDefineInfo(params: {
flowName: string;
@@ -9,19 +10,19 @@ export async function addDefineInfo(params: {
flowInputParams?: InputParams[];
flowOutputParams?: OutputParams[];
}): ResponseResult {
- return request.post(`/v1/flow/definition/add`, params);
+ return request.post(JUGGLE_API_PREFIX+`/flow/definition/add`, params);
}
export async function getDefineInfo(id: number): ResponseResult {
- return request.get(`/v1/flow/definition/info/${id}`);
+ return request.get(JUGGLE_API_PREFIX+`/flow/definition/info/${id}`);
}
export async function flowDefinePage(params: { pageNum: number; pageSize: number; flowName?: string; flowType?: string }): ResponsePageResult {
- return request.post('/v1/flow/definition/page', params);
+ return request.post(JUGGLE_API_PREFIX+'/flow/definition/page', params);
}
export async function deleteFlowDefine(id: number): ResponseResult {
- return request.delete(`/v1/flow/definition/delete/${id}`);
+ return request.delete(JUGGLE_API_PREFIX+`/flow/definition/delete/${id}`);
}
export async function updateDefineInfo(params: {
@@ -32,15 +33,15 @@ export async function updateDefineInfo(params: {
flowInputParams?: InputParams[];
flowOutputParams?: OutputParams[];
}): ResponseResult {
- return request.put(`/v1/flow/definition/update`, params);
+ return request.put(JUGGLE_API_PREFIX+`/flow/definition/update`, params);
}
export async function saveFlowContent(params: { id: number; flowContent: string; flowVariables?: FlowVariable[] }): ResponseResult {
- return request.put('/v1/flow/definition/save', params);
+ return request.put(JUGGLE_API_PREFIX+'/flow/definition/save', params);
}
export function deployFlowDefine(params: { flowDefinitionId: string; flowDeployVersion: string; flowVersionRemark: string }): ResponsePageResult {
- return request.post('/v1/flow/definition/deploy', params);
+ return request.post(JUGGLE_API_PREFIX+'/flow/definition/deploy', params);
}
export async function debugFlow(
@@ -49,5 +50,5 @@ export async function debugFlow(
flowData?: Record;
}
): ResponseResult {
- return request.post(`/v1/flow/definition/debug/${flowKey}`, triggerData);
+ return request.post(JUGGLE_API_PREFIX+`/flow/definition/debug/${flowKey}`, triggerData);
}
diff --git a/console-ui/src/service/api/flowVersion.ts b/console-ui/src/service/api/flowVersion.ts
index c8bd3e7b4ef334fd10c08feedf2c310ec6e78085..b05603ed3c7c22316f69747be4adda88f2668845 100644
--- a/console-ui/src/service/api/flowVersion.ts
+++ b/console-ui/src/service/api/flowVersion.ts
@@ -1,21 +1,22 @@
import { request, ResponsePageResult, ResponseResult } from '@/service/base';
+import {JUGGLE_API_PREFIX} from "@/const/application.ts";
export function getLatestDeployVersion(flowId: number): ResponsePageResult {
- return request.get('/v1/flow/version/latest/' + flowId);
+ return request.get(JUGGLE_API_PREFIX+'/flow/version/latest/' + flowId);
}
export function updateFlowVersionStatus(flowVersionId: number, flowVersionStatus: number): ResponsePageResult {
- return request.put('/v1/flow/version/status', { flowVersionId: flowVersionId, flowVersionStatus: flowVersionStatus });
+ return request.put(JUGGLE_API_PREFIX+'/flow/version/status', { flowVersionId: flowVersionId, flowVersionStatus: flowVersionStatus });
}
export async function flowVersionPage(params: { pageNum: number; pageSize: number; flowId: number; flowVersionStatus?: number }): ResponsePageResult {
- return request.post('/v1/flow/version/page', params);
+ return request.post(JUGGLE_API_PREFIX+'/flow/version/page', params);
}
export async function deleteFlowVersion(id: number): ResponseResult {
- return request.delete(`/v1/flow/version/delete/${id}`);
+ return request.delete(JUGGLE_API_PREFIX+`/flow/version/delete/${id}`);
}
export async function getAsyncFlowResult(flowInstanceId: string): ResponseResult {
- return request.get(`/v1/flow/version/getAsyncFlowResult/${flowInstanceId}`);
+ return request.get(JUGGLE_API_PREFIX+`/flow/version/getAsyncFlowResult/${flowInstanceId}`);
}
diff --git a/console-ui/src/service/api/object.ts b/console-ui/src/service/api/object.ts
index ca6b45dfcc126a7d3041bdd77bce80eeae926e7b..34d4e21a8287d7112cd03212385e478c1c451a5a 100644
--- a/console-ui/src/service/api/object.ts
+++ b/console-ui/src/service/api/object.ts
@@ -1,5 +1,6 @@
import { request, ResponsePageResult, type ResponseResult } from '@/service/base';
import { ObjectInfo, ObjectProperty } from '@/typings';
+import {JUGGLE_API_PREFIX} from "@/const/application.ts";
export async function addObject(params: {
objectKey: string;
@@ -7,11 +8,11 @@ export async function addObject(params: {
objectDesc?: string;
props?: ObjectProperty[];
}): ResponseResult {
- return request.post(`/v1/object/add`, params);
+ return request.post(JUGGLE_API_PREFIX+`/object/add`, params);
}
export async function deleteObjectById(objectId: number): ResponseResult {
- return request.delete(`/v1/object/delete/${objectId}`);
+ return request.delete(JUGGLE_API_PREFIX+`/object/delete/${objectId}`);
}
export async function updateObjectById(params: {
@@ -20,20 +21,20 @@ export async function updateObjectById(params: {
objectDesc?: string;
props?: ObjectProperty[];
}): ResponseResult {
- return request.put(`/v1/object/update`, params);
+ return request.put(JUGGLE_API_PREFIX+`/object/update`, params);
}
export async function queryObjectInfo(objectId: number): ResponseResult {
- return request.get(`/v1/object/info/${objectId}`);
+ return request.get(JUGGLE_API_PREFIX+`/object/info/${objectId}`);
}
export async function isExistObjectKey(params: {
id: number | null;
objectKey: string;
}): ResponseResult {
- return request.post(`/v1/object/exist/key`,params);
+ return request.post(JUGGLE_API_PREFIX+`/object/exist/key`,params);
}
export async function objectPage(params: { pageNum: number; pageSize: number; objectName?: string }): ResponsePageResult {
- return request.post('/v1/object/page', params);
+ return request.post(JUGGLE_API_PREFIX+'/object/page', params);
}
diff --git a/console-ui/src/service/api/order.ts b/console-ui/src/service/api/order.ts
index 57d59f8b6b24bf2dbdbdc2e38a7f9ce10949c763..9b961298ac17c50d9d4d1180edf307f9b97623b4 100644
--- a/console-ui/src/service/api/order.ts
+++ b/console-ui/src/service/api/order.ts
@@ -1,16 +1,17 @@
import { request, type ResponseResult } from '@/service/base';
import {CreateOrder} from "@/typings";
+import {JUGGLE_API_PREFIX} from "@/const/application.ts";
export async function createOrder(params: {
orderName: string;
orderType: number;
goodsId: number;
}): ResponseResult {
- return request.post(`/v1/order/createOrder`, params);
+ return request.post(JUGGLE_API_PREFIX+`/order/createOrder`, params);
}
export async function getOrderPayStatus(orderNo: string): ResponseResult {
- return request.get(`/v1/order/getOrderPayStatus/${orderNo}`);
+ return request.get(JUGGLE_API_PREFIX+`/order/getOrderPayStatus/${orderNo}`);
}
diff --git a/console-ui/src/service/api/suite.ts b/console-ui/src/service/api/suite.ts
index c273b05d1bd7153893a921e41682ae5c176a3d13..3a56b51f253334399182cc771f8a4d841e72e4e5 100644
--- a/console-ui/src/service/api/suite.ts
+++ b/console-ui/src/service/api/suite.ts
@@ -1,21 +1,22 @@
import { request, type ResponsePageResult, type ResponseResult } from '../base';
+import {JUGGLE_API_PREFIX} from "@/const/application.ts";
export async function addSuite(params: { suiteCode: string; suiteName: string; suiteDesc: string }): ResponseResult {
- return request.post('/v1/suite/add', params);
+ return request.post(JUGGLE_API_PREFIX+'/suite/add', params);
}
export async function deleteSuite(id: number): ResponseResult {
- return request.delete(`/v1/suite/delete/${id}`);
+ return request.delete(JUGGLE_API_PREFIX+`/suite/delete/${id}`);
}
export async function updateSuite(params: { id: string; suiteCode: string; suiteName: string; suiteDesc: string }): ResponseResult {
- return request.put('/v1/suite/update', params);
+ return request.put(JUGGLE_API_PREFIX+'/suite/update', params);
}
export async function suitePage(params: { pageNum: number; pageSize: number; suiteName?: string }): ResponsePageResult {
- return request.post('/v1/suite/page', params);
+ return request.post(JUGGLE_API_PREFIX+'/suite/page', params);
}
export async function suiteList(): ResponseResult {
- return request.get('/v1/suite/list');
+ return request.get(JUGGLE_API_PREFIX+'/suite/list');
}
diff --git a/console-ui/src/service/api/suiteMarket.ts b/console-ui/src/service/api/suiteMarket.ts
index f9bf5c79abf6e4be589890df7887cec9a2a97b7c..df81d1e3700b17690b0265740e672d3bc1d0dffa 100644
--- a/console-ui/src/service/api/suiteMarket.ts
+++ b/console-ui/src/service/api/suiteMarket.ts
@@ -1,7 +1,8 @@
import { request, type ResponseResult } from '../base';
+import {JUGGLE_API_PREFIX} from "@/const/application.ts";
export async function querySuiteMarketClassifyList(): ResponseResult {
- return request.post('/v1/suite/market/classify');
+ return request.post(JUGGLE_API_PREFIX+'/suite/market/classify');
}
export async function querySuiteMarketList(params: {
@@ -9,16 +10,17 @@ export async function querySuiteMarketList(params: {
pageSize:number;
suiteName: string;
suiteClassifyId: number|null;
+ priceStatus: number|null;
}): ResponseResult {
- return request.post('/v1/suite/market',params);
+ return request.post(JUGGLE_API_PREFIX+'/suite/market',params);
}
export async function querySuiteMarketDetail(suiteId: number): ResponseResult {
- return request.get('/v1/suite/market/info/' + suiteId);
+ return request.get(JUGGLE_API_PREFIX+'/suite/market/info/' + suiteId);
}
export async function installSuiteMarket(suiteId: number,bill?:string): ResponseResult {
- return request.post('/v1/suite/market/install', {
+ return request.post(JUGGLE_API_PREFIX+'/suite/market/install', {
suiteId: suiteId,
bill: bill
});
diff --git a/console-ui/src/service/api/templateMarket.ts b/console-ui/src/service/api/templateMarket.ts
index 12293aab560e90e44351482703841308cb7cca17..15e56287b866512729f00e95268f2af5fc0b23de 100644
--- a/console-ui/src/service/api/templateMarket.ts
+++ b/console-ui/src/service/api/templateMarket.ts
@@ -1,7 +1,8 @@
import { request, type ResponseResult } from '../base';
+import {JUGGLE_API_PREFIX} from "@/const/application.ts";
export async function queryTemplateMarketClassifyList(): ResponseResult {
- return request.post('/v1/template/market/classify');
+ return request.post(JUGGLE_API_PREFIX+'/template/market/classify');
}
export async function queryTemplateMarketList(params: {
@@ -9,21 +10,22 @@ export async function queryTemplateMarketList(params: {
pageSize:number;
templateName: string;
templateClassifyId: number|null;
+ priceStatus: number|null;
}): ResponseResult {
- return request.post('/v1/template/market',params);
+ return request.post(JUGGLE_API_PREFIX+'/template/market',params);
}
export async function queryTemplateMarketDetail(templateId: number): ResponseResult {
- return request.get('/v1/template/market/info/' + templateId);
+ return request.get(JUGGLE_API_PREFIX+'/template/market/info/' + templateId);
}
export async function useTemplateMarket(templateId: number,bill?:string): ResponseResult {
- return request.post('/v1/template/market/use', {
+ return request.post(JUGGLE_API_PREFIX+'/template/market/use', {
templateId: templateId,
bill: bill
});
}
export function queryRecommendTemplateList(templateId: number): ResponseResult {
- return request.get('/v1/template/market/recommend/'+templateId);
+ return request.get(JUGGLE_API_PREFIX+'/template/market/recommend/'+templateId);
}
diff --git a/console-ui/src/service/api/token.ts b/console-ui/src/service/api/token.ts
index 62fbd27c3716fa6c13a5efda3585d0a8db3391cd..6583c9c11ee32eca9c07b8428c7ad96659f25af4 100644
--- a/console-ui/src/service/api/token.ts
+++ b/console-ui/src/service/api/token.ts
@@ -1,17 +1,18 @@
import { request, ResponsePageResult, type ResponseResult } from '@/service/base';
+import {JUGGLE_API_PREFIX} from "@/const/application.ts";
export async function addToken(tokenDesc: string): ResponseResult {
- return request.post(`/v1/token/add`, tokenDesc);
+ return request.post(JUGGLE_API_PREFIX+`/token/add`, tokenDesc);
}
export async function deleteTokenById(tokenId: number): ResponseResult {
- return request.delete(`/v1/token/delete/${tokenId}`);
+ return request.delete(JUGGLE_API_PREFIX+`/token/delete/${tokenId}`);
}
export async function updateTokenById(params: { id: number; tokenDesc: string }): ResponseResult {
- return request.put(`/v1/token/update`, params);
+ return request.put(JUGGLE_API_PREFIX+`/token/update`, params);
}
export async function tokenPage(params: { pageNum: number; pageSize: number }): ResponsePageResult {
- return request.post('/v1/token/page', params);
+ return request.post(JUGGLE_API_PREFIX+'/token/page', params);
}
diff --git a/console-ui/src/service/api/user.ts b/console-ui/src/service/api/user.ts
index e0d3ff61a269b6e7abc2254579b754815ebb6c77..a686d6248f2f644246432e6ed625cce1468ee292 100644
--- a/console-ui/src/service/api/user.ts
+++ b/console-ui/src/service/api/user.ts
@@ -1,7 +1,8 @@
import { request, type ResponseResult } from '@/service/base';
+import {JUGGLE_API_PREFIX} from "@/const/application.ts";
export function login(data: { userName: string; password: string }): ResponseResult {
- return request.post('/v1/user/login', data);
+ return request.post(JUGGLE_API_PREFIX+'/user/login', data);
}
export function logout() {}
@@ -9,5 +10,5 @@ export function logout() {}
export function check() {}
export function getProductInfo(): ResponseResult {
- return request.get('/v1/user/product/info');
+ return request.get(JUGGLE_API_PREFIX+'/user/product/info');
}
\ No newline at end of file
diff --git a/console-ui/src/service/base/index.ts b/console-ui/src/service/base/index.ts
index 2a68f71f7dbc5dda588d6384675d7c6b0001f919..8b32d6d9c9f0984e0b7bde250fae40ebcc75ca36 100644
--- a/console-ui/src/service/base/index.ts
+++ b/console-ui/src/service/base/index.ts
@@ -5,7 +5,7 @@ function createRequestInstance() {
// 创建实例
const instance = axios.create({
baseURL: '',
- timeout: 10000,
+ timeout: 30000,
headers: {},
});
diff --git a/console-ui/src/service/module/suiteMarketService.ts b/console-ui/src/service/module/suiteMarketService.ts
index 698036eb5b5cd08f2f02c5b4bc97e7a4a69269f4..debfd3062b091beddef138e8faea6344d3039b16 100644
--- a/console-ui/src/service/module/suiteMarketService.ts
+++ b/console-ui/src/service/module/suiteMarketService.ts
@@ -3,7 +3,21 @@ import { ResponseResult } from '@/service/base';
import {SuiteMarketInfo} from '@/typings';
export async function querySuiteMarketClassifyList() {
- return suiteMarketAPI.querySuiteMarketClassifyList();
+ const res = await suiteMarketAPI.querySuiteMarketClassifyList();
+ if (res.success) {
+ const suiteClassifyFilter = {
+ title: "套件分类",
+ key: "suiteClassify",
+ options : [{label: "全部",value: null},
+ ...res.result.map(item => ({
+ value: item.id,
+ label: item.classifyName
+ }))]
+ }
+ return suiteClassifyFilter;
+ } else {
+ return null;
+ }
}
export async function querySuiteMarketList(params: Parameters[0]) {
diff --git a/console-ui/src/service/module/templateMarketService.ts b/console-ui/src/service/module/templateMarketService.ts
index 11b44901c454a2baf2b29087d574eb68cf50c672..01ada7cb278cb3d2750a3a42bfc6123194ec366f 100644
--- a/console-ui/src/service/module/templateMarketService.ts
+++ b/console-ui/src/service/module/templateMarketService.ts
@@ -3,7 +3,21 @@ import { ResponseResult } from '@/service/base';
import { TemplateMarketInfo} from '@/typings';
export async function queryTemplateMarketClassifyList() {
- return templateMarketAPI.queryTemplateMarketClassifyList();
+ const res = await templateMarketAPI.queryTemplateMarketClassifyList();
+ if (res.success) {
+ const suiteClassifyFilter = {
+ title: "模板分类",
+ key: "templateClassify",
+ options : [{label: "全部",value: null},
+ ...res.result.map(item => ({
+ value: item.id,
+ label: item.classifyName
+ }))]
+ }
+ return suiteClassifyFilter;
+ } else {
+ return null;
+ }
}
export async function queryTemplateMarketList(params: Parameters[0]) {
diff --git a/console-ui/src/typings/dataType.ts b/console-ui/src/typings/dataType.ts
index f715b4bdb0cb9d2abb77c962634913108fdbe3c5..077ec898c9f1a5335fd78a407866d20a94c57137 100644
--- a/console-ui/src/typings/dataType.ts
+++ b/console-ui/src/typings/dataType.ts
@@ -1,3 +1,5 @@
+import { ObjectProperty } from '@/typings/object.ts';
+
export enum DataTypeEnum {
Basic = 1,
List = 2,
@@ -17,5 +19,5 @@ export interface DataType {
type: string;
itemType?: string | null;
objectKey?: string | null;
- objectStructure?: string | null;
+ objectStructure?: ObjectProperty[] | null;
}
\ No newline at end of file
diff --git a/console-ui/src/typings/object.ts b/console-ui/src/typings/object.ts
index 890b2bc8ebe4ede8c8b4b2be547edf76554f74da..10ce878d96c45d84acfcf3e29cadf11c12d742cb 100644
--- a/console-ui/src/typings/object.ts
+++ b/console-ui/src/typings/object.ts
@@ -1,7 +1,9 @@
+import { DataType } from '@/typings/dataType.ts';
+
export interface ObjectProperty {
propKey: string;
propName: string;
- dataType: string;
+ dataType: DataType;
}
export interface ObjectInfo {
diff --git a/console-ui/src/utils/dataType.ts b/console-ui/src/utils/dataType.ts
index 10ef000477cd9cb2a95af653d67bfc3f0b3c5077..759db007a85d1de1b6a1ab552b06a05a37269119 100644
--- a/console-ui/src/utils/dataType.ts
+++ b/console-ui/src/utils/dataType.ts
@@ -1,5 +1,5 @@
import {FlowVariable} from "@/views/flow/design";
-import {DataType} from "@/typings";
+import { DataType, ObjectProperty } from '@/typings';
const DATA_TYPE_TEMP: Map = new Map();
@@ -66,9 +66,6 @@ export function isDataTypeMatch(sourceDataTypeItem: DataType, filterDataType: Da
if (sourceDataTypeItem === filterDataType) {
return true;
}
- if (sourceDataTypeItem.type == filterDataType.type) {
- return true;
- }
if(filterDataType.type == "String" || filterDataType.type == "Integer" ||
filterDataType.type == "Double" || filterDataType.type == "Boolean" ||
@@ -78,11 +75,29 @@ export function isDataTypeMatch(sourceDataTypeItem: DataType, filterDataType: Da
}
}
- /*if(filterDataType.type == "Object"){
+ if(filterDataType.type == "Object"){
+ //都是对象类型,且对象编码一致
if(sourceDataTypeItem.type == 'Object' && sourceDataTypeItem.objectKey == filterDataType.objectKey){
+ console.log("object", filterDataType,sourceDataTypeItem);
return true;
}
- }*/
+ // 对象属性中有匹配的对象
+ if(sourceDataTypeItem.type == 'Object' && isMatchObjectStructure(filterDataType,sourceDataTypeItem?.objectStructure)){
+ return true;
+ }
+ }
+ return false;
+}
+
+/**
+ * 对象字段是否有匹配属性
+ * @param filterDataType
+ * @param objectStructure
+ */
+function isMatchObjectStructure(filterDataType: DataType, objectStructure: ObjectProperty[] | null | undefined){
+ if(objectStructure && Array.isArray(objectStructure)){
+ return objectStructure.some(prop => prop.dataType.type === filterDataType.type && prop.dataType.objectKey === filterDataType.objectKey);
+ }
return false;
}
diff --git a/console-ui/src/views/flow/define/FlowDefineTable.vue b/console-ui/src/views/flow/define/FlowDefineTable.vue
index 94f50e10e669dbaf5281dd6e89c3918fc523f252..d6e2d34691f10e245405621f657e8bf91b4182f9 100644
--- a/console-ui/src/views/flow/define/FlowDefineTable.vue
+++ b/console-ui/src/views/flow/define/FlowDefineTable.vue
@@ -50,7 +50,7 @@ function goDesignPage(flowDefinitionId: number, flowKey: string) {
异步
-
+
diff --git a/console-ui/src/views/flow/design/components/AddNodeModal.vue b/console-ui/src/views/flow/design/components/AddNodeModal.vue
index 23a94c0728c6efb75b285915760b42ee06e9d6fa..b8918bbf42dc76b8ca79c65a7faee6ef5bad230c 100644
--- a/console-ui/src/views/flow/design/components/AddNodeModal.vue
+++ b/console-ui/src/views/flow/design/components/AddNodeModal.vue
@@ -81,9 +81,7 @@ defineExpose({ open });
@@ -91,7 +89,7 @@ defineExpose({ open });
@@ -139,6 +137,10 @@ defineExpose({ open });
font-size: 14px;
cursor: pointer;
border: 1px solid #f0f2f5;
+ .node-icon{
+ width: 25px;
+ height: 25px;
+ }
}
.node-text {
margin: 10px 5px;
diff --git a/console-ui/src/views/flow/design/components/left-menu/VariableSetting.vue b/console-ui/src/views/flow/design/components/left-menu/VariableSetting.vue
index 3ff60f1fff4ba9ba0c5e06f3b4a71fa26c0e098f..c0d422973273fc12e72531673ab93459048161d4 100644
--- a/console-ui/src/views/flow/design/components/left-menu/VariableSetting.vue
+++ b/console-ui/src/views/flow/design/components/left-menu/VariableSetting.vue
@@ -53,7 +53,7 @@ function onEdit(data: any) {
flowContext.update(draft => {
const index = draft.flowVariables.findIndex(item => item.id === data.id);
if (index > -1) {
- draft.flowVariables.splice(index, 1, data);
+ draft.flowVariables.splice(index, 1,cloneDeep(data));
}
});
}
diff --git a/console-ui/src/views/flow/list/FlowTable.vue b/console-ui/src/views/flow/list/FlowTable.vue
index f4fa98ce7491236bd6ae58338f67438e61dfb277..70e41df1c82b2e3c0f973fc6fa605dc34dfecf1b 100644
--- a/console-ui/src/views/flow/list/FlowTable.vue
+++ b/console-ui/src/views/flow/list/FlowTable.vue
@@ -38,7 +38,7 @@ function goFlowVersionListPage(flowId: number) {
-
+
版本列表
删除
diff --git a/console-ui/src/views/market/SuiteMarket.vue b/console-ui/src/views/market/SuiteMarket.vue
index 899891ceb838b9c95a5a0577d51f2e0d0bbbcbdc..c6b1a4b553c11d4e5f83b68533e38a621c4f8de0 100644
--- a/console-ui/src/views/market/SuiteMarket.vue
+++ b/console-ui/src/views/market/SuiteMarket.vue
@@ -4,28 +4,37 @@ import { suiteMarketService } from '@/service';
import {ref} from 'vue';
import {Search} from "@element-plus/icons-vue";
import { reactive } from 'vue';
+import ClassifyFilter from "@/components/common/ClassifyFilter.vue";
const router = useRouter();
const suiteMarketList = ref[]>([]);
-const suiteMarketClassifyList = ref[]>([]);
const pageNum = ref(1);
const loading = ref(false);
const noMoreSuite = ref(false);
+const filterData = ref([{
+ title: "套件价格",
+ key: "priceStatus",
+ options : [{label: "全部",value: null},{label: "免费",value: 0},{label: "付费",value: 1}]
+}]);
const filterValue = reactive({
suiteName: '',
suiteClassifyId: null,
+ priceStatus: null,
});
querySuiteMarketClassifyList();
querySuiteMarketList();
-async function changeSuiteClassify(){
+async function changeSuiteName(){
noMoreSuite.value = false;
suiteMarketList.value = [];
await querySuiteMarketList();
}
-async function changeSuiteName(){
+
+async function changeFilter(val:any){
+ filterValue.suiteClassifyId = val.suiteClassify;
+ filterValue.priceStatus = val.priceStatus;
noMoreSuite.value = false;
suiteMarketList.value = [];
await querySuiteMarketList();
@@ -41,7 +50,8 @@ async function loadNextSuiteMarket(){
pageNum:pageNum.value,
pageSize:15,
suiteName:filterValue.suiteName,
- suiteClassifyId: filterValue.suiteClassifyId
+ suiteClassifyId: filterValue.suiteClassifyId,
+ priceStatus: filterValue.priceStatus,
});
if (res.success) {
loading.value = false;
@@ -61,7 +71,8 @@ async function querySuiteMarketList() {
pageNum:pageNum.value,
pageSize:15,
suiteName:filterValue.suiteName,
- suiteClassifyId: filterValue.suiteClassifyId
+ suiteClassifyId: filterValue.suiteClassifyId,
+ priceStatus: filterValue.priceStatus,
});
if (res.success) {
suiteMarketList.value = res.result;
@@ -69,9 +80,9 @@ async function querySuiteMarketList() {
}
async function querySuiteMarketClassifyList() {
- const res = await suiteMarketService.querySuiteMarketClassifyList();
- if (res.success) {
- suiteMarketClassifyList.value = res.result;
+ const suiteClassifyFilter = await suiteMarketService.querySuiteMarketClassifyList();
+ if(suiteClassifyFilter != null){
+ filterData.value.push(suiteClassifyFilter);
}
}
@@ -89,26 +100,16 @@ function goToSuiteMarketDetail(suiteId: number) {
-
-
-
-
+
-
+
@@ -132,7 +134,14 @@ function goToSuiteMarketDetail(suiteId: number) {
padding: 20px;
.suite-filter {
+ display: flex;
+ justify-content: center;
margin-bottom: 20px;
+ flex-direction: column;
+ align-items: center;
+ .suite-filter-name {
+ width: 500px;
+ }
}
.el-col {
diff --git a/console-ui/src/views/market/TemplateMarket.vue b/console-ui/src/views/market/TemplateMarket.vue
index d1955f65dbfcf66bde2cf06e8bcd05e19aa056b4..1a43885b0de6c336e5a7dda1830fd7bf680aaae2 100644
--- a/console-ui/src/views/market/TemplateMarket.vue
+++ b/console-ui/src/views/market/TemplateMarket.vue
@@ -4,29 +4,37 @@ import {templateMarketService} from '@/service';
import {ref} from 'vue';
import {Search} from "@element-plus/icons-vue";
import { reactive } from 'vue';
+import ClassifyFilter from "@/components/common/ClassifyFilter.vue";
const router = useRouter();
const templateMarketList = ref[]>([]);
-const templateMarketClassifyList = ref[]>([]);
const pageNum = ref(1);
const loading = ref(false);
const noMoreTemplate = ref(false);
+const filterData = ref([{
+ title: "模板价格",
+ key: "priceStatus",
+ options : [{label: "全部",value: null},{label: "免费",value: 0},{label: "付费",value: 1}]
+}]);
const filterValue = reactive({
templateName: '',
templateClassifyId: null,
+ priceStatus: null,
});
queryTemplateMarketClassifyList();
queryTemplateMarketList();
-async function changeTemplateClassify(){
+async function changeTemplateName(){
noMoreTemplate.value = false;
templateMarketList.value = [];
await queryTemplateMarketList();
}
-async function changeTemplateName(){
+async function changeFilter(val:any){
+ filterValue.templateClassifyId = val.templateClassify;
+ filterValue.priceStatus = val.priceStatus;
noMoreTemplate.value = false;
templateMarketList.value = [];
await queryTemplateMarketList();
@@ -42,7 +50,8 @@ async function loadNextTemplateMarket(){
pageNum:pageNum.value,
pageSize:15,
templateName:filterValue.templateName,
- templateClassifyId: filterValue.templateClassifyId
+ templateClassifyId: filterValue.templateClassifyId,
+ priceStatus: filterValue.priceStatus,
});
if (res.success) {
loading.value = false;
@@ -62,7 +71,8 @@ async function queryTemplateMarketList() {
pageNum:pageNum.value,
pageSize:15,
templateName:filterValue.templateName,
- templateClassifyId: filterValue.templateClassifyId
+ templateClassifyId: filterValue.templateClassifyId,
+ priceStatus: filterValue.priceStatus,
});
if (res.success) {
templateMarketList.value = res.result;
@@ -70,9 +80,9 @@ async function queryTemplateMarketList() {
}
async function queryTemplateMarketClassifyList() {
- const res = await templateMarketService.queryTemplateMarketClassifyList();
- if (res.success) {
- templateMarketClassifyList.value = res.result;
+ const templateClassifyFilter = await templateMarketService.queryTemplateMarketClassifyList();
+ if(templateClassifyFilter != null){
+ filterData.value.push(templateClassifyFilter);
}
}
@@ -90,26 +100,16 @@ function goToTemplateMarketDetail(templateId: number) {
-
-
-
-
+
-
+
@@ -138,7 +139,14 @@ function goToTemplateMarketDetail(templateId: number) {
padding: 20px;
.template-filter {
+ display: flex;
+ justify-content: center;
margin-bottom: 20px;
+ flex-direction: column;
+ align-items: center;
+ .template-filter-name {
+ width: 500px;
+ }
}
.el-col {
diff --git a/console-ui/src/views/object/ObjectTable.vue b/console-ui/src/views/object/ObjectTable.vue
index e0e71403e5a72f84ffb2b5a1149f9f81bd177f89..5ddcdd6f6ac01f297031aa31ab27e03834e011a0 100644
--- a/console-ui/src/views/object/ObjectTable.vue
+++ b/console-ui/src/views/object/ObjectTable.vue
@@ -26,8 +26,8 @@ function editRow(row: any) {
-
-
+
+
编辑
删除
diff --git a/console-ui/src/views/suite/ApiList.vue b/console-ui/src/views/suite/ApiList.vue
index b07bb2be226d9ae04db2844b9f2117be1949d3d9..7bdf0aaf07c9f246053378c9d5109690f13a6b1b 100644
--- a/console-ui/src/views/suite/ApiList.vue
+++ b/console-ui/src/views/suite/ApiList.vue
@@ -1,9 +1,15 @@
-
-
-
diff --git a/console-ui/src/views/suite/index.ts b/console-ui/src/views/suite/index.ts
index 61f5291423a26945b874089d32fad655a7060995..9d8c0b9c2de12aa1b6c1242178519ffc4a20441c 100644
--- a/console-ui/src/views/suite/index.ts
+++ b/console-ui/src/views/suite/index.ts
@@ -18,7 +18,7 @@ export const SuiteRoutes = [
meta: { name: '套件列表' },
},
{
- path: 'api',
+ path: 'api/:suiteCode/:suiteId',
name: 'api-list',
component: ApiList,
meta: { name: '接口列表' },
diff --git a/console-ui/src/views/suite/suite/SuiteTable.vue b/console-ui/src/views/suite/suite/SuiteTable.vue
index 92baf420871dd7771f10b779a7f5d69472f31b88..cce69d63a79a62d226103e0c7ea3507055c6a2e9 100644
--- a/console-ui/src/views/suite/suite/SuiteTable.vue
+++ b/console-ui/src/views/suite/suite/SuiteTable.vue
@@ -1,4 +1,6 @@
@@ -41,6 +54,7 @@ function editRow(row: any) {
编辑
+ 接口列表
删除
diff --git a/console-ui/vite.config.ts b/console-ui/vite.config.ts
index 2b42ae98210d5633739b6b81ab2c5c5506ab7e8c..cad21ea98d57e6bf68c2e7fb77f8d024d2dde20f 100644
--- a/console-ui/vite.config.ts
+++ b/console-ui/vite.config.ts
@@ -23,7 +23,7 @@ export default defineConfig(({ mode }) => {
open: true,
host: '0.0.0.0',
proxy: {
- '^/v(d*)': env.VITE_API_PROXY,
+ '^/api': env.VITE_API_PROXY,
'^/open': env.VITE_API_PROXY
}
}
diff --git a/console-ui/yarn.lock b/console-ui/yarn.lock
index 9cef0357cd318cc917578c437ceb2970d6e3590c..902378173e8d825ecca90b8ecbd76012956938b9 100644
--- a/console-ui/yarn.lock
+++ b/console-ui/yarn.lock
@@ -27,120 +27,130 @@
resolved "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz#1f635ad5fdd5c85ed936481525570e82b5a8307a"
integrity sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==
-"@esbuild/aix-ppc64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537"
- integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==
-
-"@esbuild/android-arm64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9"
- integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==
-
-"@esbuild/android-arm@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995"
- integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==
-
-"@esbuild/android-x64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98"
- integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==
-
-"@esbuild/darwin-arm64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb"
- integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==
-
-"@esbuild/darwin-x64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz#90ed098e1f9dd8a9381695b207e1cff45540a0d0"
- integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==
-
-"@esbuild/freebsd-arm64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911"
- integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==
-
-"@esbuild/freebsd-x64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c"
- integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==
-
-"@esbuild/linux-arm64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5"
- integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==
-
-"@esbuild/linux-arm@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c"
- integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==
-
-"@esbuild/linux-ia32@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa"
- integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==
-
-"@esbuild/linux-loong64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5"
- integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==
-
-"@esbuild/linux-mips64el@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa"
- integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==
-
-"@esbuild/linux-ppc64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20"
- integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==
-
-"@esbuild/linux-riscv64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300"
- integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==
-
-"@esbuild/linux-s390x@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685"
- integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==
-
-"@esbuild/linux-x64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff"
- integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==
-
-"@esbuild/netbsd-x64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6"
- integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==
-
-"@esbuild/openbsd-x64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf"
- integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==
-
-"@esbuild/sunos-x64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f"
- integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==
-
-"@esbuild/win32-arm64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90"
- integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==
-
-"@esbuild/win32-ia32@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23"
- integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==
-
-"@esbuild/win32-x64@0.20.2":
- version "0.20.2"
- resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc"
- integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==
+"@esbuild/aix-ppc64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz#4e0f91776c2b340e75558f60552195f6fad09f18"
+ integrity sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==
+
+"@esbuild/android-arm64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.25.5.tgz#bc766407f1718923f6b8079c8c61bf86ac3a6a4f"
+ integrity sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==
+
+"@esbuild/android-arm@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.25.5.tgz#4290d6d3407bae3883ad2cded1081a234473ce26"
+ integrity sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==
+
+"@esbuild/android-x64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.25.5.tgz#40c11d9cbca4f2406548c8a9895d321bc3b35eff"
+ integrity sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==
+
+"@esbuild/darwin-arm64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.5.tgz#49d8bf8b1df95f759ac81eb1d0736018006d7e34"
+ integrity sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==
+
+"@esbuild/darwin-x64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.25.5.tgz#e27a5d92a14886ef1d492fd50fc61a2d4d87e418"
+ integrity sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==
+
+"@esbuild/freebsd-arm64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.5.tgz#97cede59d638840ca104e605cdb9f1b118ba0b1c"
+ integrity sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==
+
+"@esbuild/freebsd-x64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.5.tgz#71c77812042a1a8190c3d581e140d15b876b9c6f"
+ integrity sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==
+
+"@esbuild/linux-arm64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.25.5.tgz#f7b7c8f97eff8ffd2e47f6c67eb5c9765f2181b8"
+ integrity sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==
+
+"@esbuild/linux-arm@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.25.5.tgz#2a0be71b6cd8201fa559aea45598dffabc05d911"
+ integrity sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==
+
+"@esbuild/linux-ia32@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.25.5.tgz#763414463cd9ea6fa1f96555d2762f9f84c61783"
+ integrity sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==
+
+"@esbuild/linux-loong64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.25.5.tgz#428cf2213ff786a502a52c96cf29d1fcf1eb8506"
+ integrity sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==
+
+"@esbuild/linux-mips64el@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.5.tgz#5cbcc7fd841b4cd53358afd33527cd394e325d96"
+ integrity sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==
+
+"@esbuild/linux-ppc64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.5.tgz#0d954ab39ce4f5e50f00c4f8c4fd38f976c13ad9"
+ integrity sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==
+
+"@esbuild/linux-riscv64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.5.tgz#0e7dd30730505abd8088321e8497e94b547bfb1e"
+ integrity sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==
+
+"@esbuild/linux-s390x@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.25.5.tgz#5669af81327a398a336d7e40e320b5bbd6e6e72d"
+ integrity sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==
+
+"@esbuild/linux-x64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.25.5.tgz#b2357dd153aa49038967ddc1ffd90c68a9d2a0d4"
+ integrity sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==
+
+"@esbuild/netbsd-arm64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.5.tgz#53b4dfb8fe1cee93777c9e366893bd3daa6ba63d"
+ integrity sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==
+
+"@esbuild/netbsd-x64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.5.tgz#a0206f6314ce7dc8713b7732703d0f58de1d1e79"
+ integrity sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==
+
+"@esbuild/openbsd-arm64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.5.tgz#2a796c87c44e8de78001d808c77d948a21ec22fd"
+ integrity sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==
+
+"@esbuild/openbsd-x64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.5.tgz#28d0cd8909b7fa3953af998f2b2ed34f576728f0"
+ integrity sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==
+
+"@esbuild/sunos-x64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.25.5.tgz#a28164f5b997e8247d407e36c90d3fd5ddbe0dc5"
+ integrity sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==
+
+"@esbuild/win32-arm64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.25.5.tgz#6eadbead38e8bd12f633a5190e45eff80e24007e"
+ integrity sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==
+
+"@esbuild/win32-ia32@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.25.5.tgz#bab6288005482f9ed2adb9ded7e88eba9a62cc0d"
+ integrity sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==
+
+"@esbuild/win32-x64@0.25.5":
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.5.tgz#7fc114af5f6563f19f73324b5d5ff36ece0803d1"
+ integrity sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.0"
@@ -253,85 +263,105 @@
resolved "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz"
integrity sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==
-"@rollup/rollup-android-arm-eabi@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz#8b613b9725e8f9479d142970b106b6ae878610d5"
- integrity sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==
-
-"@rollup/rollup-android-arm64@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz#654ca1049189132ff602bfcf8df14c18da1f15fb"
- integrity sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==
-
-"@rollup/rollup-darwin-arm64@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz#6d241d099d1518ef0c2205d96b3fa52e0fe1954b"
- integrity sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==
-
-"@rollup/rollup-darwin-x64@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz#42bd19d292a57ee11734c980c4650de26b457791"
- integrity sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==
-
-"@rollup/rollup-linux-arm-gnueabihf@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz#f23555ee3d8fe941c5c5fd458cd22b65eb1c2232"
- integrity sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==
-
-"@rollup/rollup-linux-arm-musleabihf@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz#f3bbd1ae2420f5539d40ac1fde2b38da67779baa"
- integrity sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==
-
-"@rollup/rollup-linux-arm64-gnu@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz#7abe900120113e08a1f90afb84c7c28774054d15"
- integrity sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==
-
-"@rollup/rollup-linux-arm64-musl@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz#9e655285c8175cd44f57d6a1e8e5dedfbba1d820"
- integrity sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==
-
-"@rollup/rollup-linux-powerpc64le-gnu@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz#9a79ae6c9e9d8fe83d49e2712ecf4302db5bef5e"
- integrity sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==
-
-"@rollup/rollup-linux-riscv64-gnu@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz#67ac70eca4ace8e2942fabca95164e8874ab8128"
- integrity sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==
-
-"@rollup/rollup-linux-s390x-gnu@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz#9f883a7440f51a22ed7f99e1d070bd84ea5005fc"
- integrity sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==
-
-"@rollup/rollup-linux-x64-gnu@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz#70116ae6c577fe367f58559e2cffb5641a1dd9d0"
- integrity sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==
-
-"@rollup/rollup-linux-x64-musl@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz#f473f88219feb07b0b98b53a7923be716d1d182f"
- integrity sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==
-
-"@rollup/rollup-win32-arm64-msvc@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz#4349482d17f5d1c58604d1c8900540d676f420e0"
- integrity sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==
-
-"@rollup/rollup-win32-ia32-msvc@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz#a6fc39a15db618040ec3c2a24c1e26cb5f4d7422"
- integrity sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==
-
-"@rollup/rollup-win32-x64-msvc@4.22.4":
- version "4.22.4"
- resolved "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz#3dd5d53e900df2a40841882c02e56f866c04d202"
- integrity sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==
+"@rollup/rollup-android-arm-eabi@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.1.tgz#f39f09f60d4a562de727c960d7b202a2cf797424"
+ integrity sha512-NELNvyEWZ6R9QMkiytB4/L4zSEaBC03KIXEghptLGLZWJ6VPrL63ooZQCOnlx36aQPGhzuOMwDerC1Eb2VmrLw==
+
+"@rollup/rollup-android-arm64@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.1.tgz#d19af7e23760717f1d879d4ca3d2cd247742dff2"
+ integrity sha512-DXdQe1BJ6TK47ukAoZLehRHhfKnKg9BjnQYUu9gzhI8Mwa1d2fzxA1aw2JixHVl403bwp1+/o/NhhHtxWJBgEA==
+
+"@rollup/rollup-darwin-arm64@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.1.tgz#1c3a2fbf205d80641728e05f4a56c909e95218b7"
+ integrity sha512-5afxvwszzdulsU2w8JKWwY8/sJOLPzf0e1bFuvcW5h9zsEg+RQAojdW0ux2zyYAz7R8HvvzKCjLNJhVq965U7w==
+
+"@rollup/rollup-darwin-x64@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.1.tgz#aa66d2ba1a25e609500e13bef06dc0e71cc0c0d4"
+ integrity sha512-egpJACny8QOdHNNMZKf8xY0Is6gIMz+tuqXlusxquWu3F833DcMwmGM7WlvCO9sB3OsPjdC4U0wHw5FabzCGZg==
+
+"@rollup/rollup-freebsd-arm64@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.1.tgz#df10a7b6316a0ef1028c6ca71a081124c537e30d"
+ integrity sha512-DBVMZH5vbjgRk3r0OzgjS38z+atlupJ7xfKIDJdZZL6sM6wjfDNo64aowcLPKIx7LMQi8vybB56uh1Ftck/Atg==
+
+"@rollup/rollup-freebsd-x64@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.1.tgz#a3fdce8a05e95b068cbcb46e4df5185e407d0c35"
+ integrity sha512-3FkydeohozEskBxNWEIbPfOE0aqQgB6ttTkJ159uWOFn42VLyfAiyD9UK5mhu+ItWzft60DycIN1Xdgiy8o/SA==
+
+"@rollup/rollup-linux-arm-gnueabihf@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.1.tgz#49f766c55383bd0498014a9d76924348c2f3890c"
+ integrity sha512-wC53ZNDgt0pqx5xCAgNunkTzFE8GTgdZ9EwYGVcg+jEjJdZGtq9xPjDnFgfFozQI/Xm1mh+D9YlYtl+ueswNEg==
+
+"@rollup/rollup-linux-arm-musleabihf@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.1.tgz#1d4d7d32fc557e17d52e1857817381ea365e2959"
+ integrity sha512-jwKCca1gbZkZLhLRtsrka5N8sFAaxrGz/7wRJ8Wwvq3jug7toO21vWlViihG85ei7uJTpzbXZRcORotE+xyrLA==
+
+"@rollup/rollup-linux-arm64-gnu@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.1.tgz#f4fc317268441e9589edad3be8f62b6c03009bc1"
+ integrity sha512-g0UBcNknsmmNQ8V2d/zD2P7WWfJKU0F1nu0k5pW4rvdb+BIqMm8ToluW/eeRmxCared5dD76lS04uL4UaNgpNA==
+
+"@rollup/rollup-linux-arm64-musl@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.1.tgz#63a1f1b0671cb17822dabae827fef0e443aebeb7"
+ integrity sha512-XZpeGB5TKEZWzIrj7sXr+BEaSgo/ma/kCgrZgL0oo5qdB1JlTzIYQKel/RmhT6vMAvOdM2teYlAaOGJpJ9lahg==
+
+"@rollup/rollup-linux-loongarch64-gnu@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.1.tgz#c659b01cc6c0730b547571fc3973e1e955369f98"
+ integrity sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==
+
+"@rollup/rollup-linux-powerpc64le-gnu@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.1.tgz#612e746f9ad7e58480f964d65e0d6c3f4aae69a8"
+ integrity sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==
+
+"@rollup/rollup-linux-riscv64-gnu@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.1.tgz#4610dbd1dcfbbae32fbc10c20ae7387acb31110c"
+ integrity sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==
+
+"@rollup/rollup-linux-riscv64-musl@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.1.tgz#054911fab40dc83fafc21e470193c058108f19d8"
+ integrity sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==
+
+"@rollup/rollup-linux-s390x-gnu@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.1.tgz#98896eca8012547c7f04bd07eaa6896825f9e1a5"
+ integrity sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==
+
+"@rollup/rollup-linux-x64-gnu@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.1.tgz#01cf56844a1e636ee80dfb364e72c2b7142ad896"
+ integrity sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==
+
+"@rollup/rollup-linux-x64-musl@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.1.tgz#e67c7531df6dff0b4c241101d4096617fbca87c3"
+ integrity sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==
+
+"@rollup/rollup-win32-arm64-msvc@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.1.tgz#7eeada98444e580674de6989284e4baacd48ea65"
+ integrity sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==
+
+"@rollup/rollup-win32-ia32-msvc@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.1.tgz#516c4b54f80587b4a390aaf4940b40870271d35d"
+ integrity sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==
+
+"@rollup/rollup-win32-x64-msvc@4.41.1":
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz#848f99b0d9936d92221bb6070baeff4db6947a30"
+ integrity sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==
"@rushstack/eslint-patch@1.6.0":
version "1.6.0"
@@ -558,10 +588,10 @@
"@types/d3-transition" "*"
"@types/d3-zoom" "*"
-"@types/estree@1.0.5":
- version "1.0.5"
- resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4"
- integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
+"@types/estree@1.0.7":
+ version "1.0.7"
+ resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.7.tgz#4158d3105276773d5b7695cd4834b1722e4f37a8"
+ integrity sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==
"@types/geojson@*":
version "7946.0.12"
@@ -687,10 +717,10 @@
"@typescript-eslint/types" "8.8.1"
eslint-visitor-keys "^3.4.3"
-"@vitejs/plugin-vue@4.5.2":
- version "4.5.2"
- resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.5.2.tgz#1212d81bc83680e14448fefe55abd9fe1ed49ed1"
- integrity sha512-UGR3DlzLi/SaVBPX0cnSyE37vqxU3O6chn8l0HJNzQzDia6/Au2A4xKv+iIJW8w2daf80G7TYHhi1pAUjdZ0bQ==
+"@vitejs/plugin-vue@5.1.0":
+ version "5.1.0"
+ resolved "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.1.0.tgz#d29f2aad9127c73b578e7a463e76249e89256e0b"
+ integrity sha512-QMRxARyrdiwi1mj3AW4fLByoHTavreXq0itdEW696EihXglf1MB3D4C2gBvE0jMPH29ZjC3iK8aIaUMLf4EOGA==
"@volar/language-core@1.11.1", "@volar/language-core@~1.11.1":
version "1.11.1"
@@ -964,12 +994,12 @@ available-typed-arrays@^1.0.5:
resolved "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz"
integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
-axios@1.6.7:
- version "1.6.7"
- resolved "https://registry.npmmirror.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7"
- integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==
+axios@1.8.2:
+ version "1.8.2"
+ resolved "https://registry.npmmirror.com/axios/-/axios-1.8.2.tgz#fabe06e241dfe83071d4edfbcaa7b1c3a40f7979"
+ integrity sha512-ls4GYBm5aig9vWx8AWDSGLpnpDQRtWAfrjU+EuytuODrFBkqesN2RkOQCBzrA1RQNHw1SmRMSDDDSwzNAYQ6Rg==
dependencies:
- follow-redirects "^1.15.4"
+ follow-redirects "^1.15.6"
form-data "^4.0.0"
proxy-from-env "^1.1.0"
@@ -1550,34 +1580,36 @@ es-to-primitive@^1.2.1:
is-date-object "^1.0.1"
is-symbol "^1.0.2"
-esbuild@^0.20.1:
- version "0.20.2"
- resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.20.2.tgz#9d6b2386561766ee6b5a55196c6d766d28c87ea1"
- integrity sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==
+esbuild@^0.25.0:
+ version "0.25.5"
+ resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.25.5.tgz#71075054993fdfae76c66586f9b9c1f8d7edd430"
+ integrity sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==
optionalDependencies:
- "@esbuild/aix-ppc64" "0.20.2"
- "@esbuild/android-arm" "0.20.2"
- "@esbuild/android-arm64" "0.20.2"
- "@esbuild/android-x64" "0.20.2"
- "@esbuild/darwin-arm64" "0.20.2"
- "@esbuild/darwin-x64" "0.20.2"
- "@esbuild/freebsd-arm64" "0.20.2"
- "@esbuild/freebsd-x64" "0.20.2"
- "@esbuild/linux-arm" "0.20.2"
- "@esbuild/linux-arm64" "0.20.2"
- "@esbuild/linux-ia32" "0.20.2"
- "@esbuild/linux-loong64" "0.20.2"
- "@esbuild/linux-mips64el" "0.20.2"
- "@esbuild/linux-ppc64" "0.20.2"
- "@esbuild/linux-riscv64" "0.20.2"
- "@esbuild/linux-s390x" "0.20.2"
- "@esbuild/linux-x64" "0.20.2"
- "@esbuild/netbsd-x64" "0.20.2"
- "@esbuild/openbsd-x64" "0.20.2"
- "@esbuild/sunos-x64" "0.20.2"
- "@esbuild/win32-arm64" "0.20.2"
- "@esbuild/win32-ia32" "0.20.2"
- "@esbuild/win32-x64" "0.20.2"
+ "@esbuild/aix-ppc64" "0.25.5"
+ "@esbuild/android-arm" "0.25.5"
+ "@esbuild/android-arm64" "0.25.5"
+ "@esbuild/android-x64" "0.25.5"
+ "@esbuild/darwin-arm64" "0.25.5"
+ "@esbuild/darwin-x64" "0.25.5"
+ "@esbuild/freebsd-arm64" "0.25.5"
+ "@esbuild/freebsd-x64" "0.25.5"
+ "@esbuild/linux-arm" "0.25.5"
+ "@esbuild/linux-arm64" "0.25.5"
+ "@esbuild/linux-ia32" "0.25.5"
+ "@esbuild/linux-loong64" "0.25.5"
+ "@esbuild/linux-mips64el" "0.25.5"
+ "@esbuild/linux-ppc64" "0.25.5"
+ "@esbuild/linux-riscv64" "0.25.5"
+ "@esbuild/linux-s390x" "0.25.5"
+ "@esbuild/linux-x64" "0.25.5"
+ "@esbuild/netbsd-arm64" "0.25.5"
+ "@esbuild/netbsd-x64" "0.25.5"
+ "@esbuild/openbsd-arm64" "0.25.5"
+ "@esbuild/openbsd-x64" "0.25.5"
+ "@esbuild/sunos-x64" "0.25.5"
+ "@esbuild/win32-arm64" "0.25.5"
+ "@esbuild/win32-ia32" "0.25.5"
+ "@esbuild/win32-x64" "0.25.5"
escape-html@^1.0.3:
version "1.0.3"
@@ -1784,6 +1816,11 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
+fdir@^6.4.4:
+ version "6.4.5"
+ resolved "https://registry.npmmirror.com/fdir/-/fdir-6.4.5.tgz#328e280f3a23699362f95f2e82acf978a0c0cb49"
+ integrity sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==
+
file-entry-cache@^8.0.0:
version "8.0.0"
resolved "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-8.0.0.tgz#7787bddcf1131bffb92636c69457bbc0edd6d81f"
@@ -1827,10 +1864,10 @@ flatted@^3.2.9:
resolved "https://registry.npmmirror.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a"
integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==
-follow-redirects@^1.15.4:
- version "1.15.6"
- resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b"
- integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==
+follow-redirects@^1.15.6:
+ version "1.15.9"
+ resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1"
+ integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
for-each@^0.3.3:
version "0.3.3"
@@ -2411,6 +2448,11 @@ muggle-string@^0.3.1:
resolved "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.3.1.tgz#e524312eb1728c63dd0b2ac49e3282e6ed85963a"
integrity sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==
+nanoid@^3.3.11:
+ version "3.3.11"
+ resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b"
+ integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==
+
nanoid@^3.3.7:
version "3.3.7"
resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8"
@@ -2594,16 +2636,21 @@ picocolors@^1.0.0:
resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-picocolors@^1.1.0:
- version "1.1.0"
- resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59"
- integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==
+picocolors@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
+ integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+picomatch@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz#77c742931e8f3b8820946c76cd0c1f13730d1dab"
+ integrity sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==
+
pidtree@^0.3.0:
version "0.3.1"
resolved "https://registry.npmmirror.com/pidtree/-/pidtree-0.3.1.tgz"
@@ -2641,13 +2688,13 @@ postcss@^8.4.32:
picocolors "^1.0.0"
source-map-js "^1.0.2"
-postcss@^8.4.36:
- version "8.4.47"
- resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.47.tgz#5bf6c9a010f3e724c503bf03ef7947dcb0fea365"
- integrity sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==
+postcss@^8.5.3:
+ version "8.5.4"
+ resolved "https://registry.npmmirror.com/postcss/-/postcss-8.5.4.tgz#d61014ac00e11d5f58458ed7247d899bd65f99c0"
+ integrity sha512-QSa9EBe+uwlGTFmHsPKokv3B/oEMQZxfqW0QqNCyhpa6mB1afzulwn8hihglqAb2pOw+BJgNlmXQ8la2VeHB7w==
dependencies:
- nanoid "^3.3.7"
- picocolors "^1.1.0"
+ nanoid "^3.3.11"
+ picocolors "^1.1.1"
source-map-js "^1.2.1"
prelude-ls@^1.2.1:
@@ -2748,29 +2795,33 @@ robust-predicates@^3.0.0:
resolved "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-3.0.2.tgz#d5b28528c4824d20fc48df1928d41d9efa1ad771"
integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==
-rollup@^4.13.0:
- version "4.22.4"
- resolved "https://registry.npmmirror.com/rollup/-/rollup-4.22.4.tgz#4135a6446671cd2a2453e1ad42a45d5973ec3a0f"
- integrity sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==
+rollup@^4.34.9:
+ version "4.41.1"
+ resolved "https://registry.npmmirror.com/rollup/-/rollup-4.41.1.tgz#46ddc1b33cf1b0baa99320d3b0b4973dc2253b6a"
+ integrity sha512-cPmwD3FnFv8rKMBc1MxWCwVQFxwf1JEmSX3iQXrRVVG15zerAIXRjMFVWnd5Q5QvgKF7Aj+5ykXFhUl+QGnyOw==
dependencies:
- "@types/estree" "1.0.5"
+ "@types/estree" "1.0.7"
optionalDependencies:
- "@rollup/rollup-android-arm-eabi" "4.22.4"
- "@rollup/rollup-android-arm64" "4.22.4"
- "@rollup/rollup-darwin-arm64" "4.22.4"
- "@rollup/rollup-darwin-x64" "4.22.4"
- "@rollup/rollup-linux-arm-gnueabihf" "4.22.4"
- "@rollup/rollup-linux-arm-musleabihf" "4.22.4"
- "@rollup/rollup-linux-arm64-gnu" "4.22.4"
- "@rollup/rollup-linux-arm64-musl" "4.22.4"
- "@rollup/rollup-linux-powerpc64le-gnu" "4.22.4"
- "@rollup/rollup-linux-riscv64-gnu" "4.22.4"
- "@rollup/rollup-linux-s390x-gnu" "4.22.4"
- "@rollup/rollup-linux-x64-gnu" "4.22.4"
- "@rollup/rollup-linux-x64-musl" "4.22.4"
- "@rollup/rollup-win32-arm64-msvc" "4.22.4"
- "@rollup/rollup-win32-ia32-msvc" "4.22.4"
- "@rollup/rollup-win32-x64-msvc" "4.22.4"
+ "@rollup/rollup-android-arm-eabi" "4.41.1"
+ "@rollup/rollup-android-arm64" "4.41.1"
+ "@rollup/rollup-darwin-arm64" "4.41.1"
+ "@rollup/rollup-darwin-x64" "4.41.1"
+ "@rollup/rollup-freebsd-arm64" "4.41.1"
+ "@rollup/rollup-freebsd-x64" "4.41.1"
+ "@rollup/rollup-linux-arm-gnueabihf" "4.41.1"
+ "@rollup/rollup-linux-arm-musleabihf" "4.41.1"
+ "@rollup/rollup-linux-arm64-gnu" "4.41.1"
+ "@rollup/rollup-linux-arm64-musl" "4.41.1"
+ "@rollup/rollup-linux-loongarch64-gnu" "4.41.1"
+ "@rollup/rollup-linux-powerpc64le-gnu" "4.41.1"
+ "@rollup/rollup-linux-riscv64-gnu" "4.41.1"
+ "@rollup/rollup-linux-riscv64-musl" "4.41.1"
+ "@rollup/rollup-linux-s390x-gnu" "4.41.1"
+ "@rollup/rollup-linux-x64-gnu" "4.41.1"
+ "@rollup/rollup-linux-x64-musl" "4.41.1"
+ "@rollup/rollup-win32-arm64-msvc" "4.41.1"
+ "@rollup/rollup-win32-ia32-msvc" "4.41.1"
+ "@rollup/rollup-win32-x64-msvc" "4.41.1"
fsevents "~2.3.2"
run-parallel@^1.1.9:
@@ -3006,6 +3057,14 @@ text-table@^0.2.0:
resolved "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz"
integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
+tinyglobby@^0.2.13:
+ version "0.2.14"
+ resolved "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.14.tgz#5280b0cf3f972b050e74ae88406c0a6a58f4079d"
+ integrity sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==
+ dependencies:
+ fdir "^6.4.4"
+ picomatch "^4.0.2"
+
to-regex-range@^5.0.1:
version "5.0.1"
resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz"
@@ -3108,14 +3167,17 @@ vite-plugin-monaco-editor@1.1.0:
resolved "https://registry.npmmirror.com/vite-plugin-monaco-editor/-/vite-plugin-monaco-editor-1.1.0.tgz#a6238c2e13d5e98dd54a1bc51f6f189325219de3"
integrity sha512-IvtUqZotrRoVqwT0PBBDIZPNraya3BxN/bfcNfnxZ5rkJiGcNtO5eAOWWSgT7zullIAEqQwxMU83yL9J5k7gww==
-vite@5.2.6:
- version "5.2.6"
- resolved "https://registry.npmmirror.com/vite/-/vite-5.2.6.tgz#fc2ce309e0b4871e938cb0aca3b96c422c01f222"
- integrity sha512-FPtnxFlSIKYjZ2eosBQamz4CbyrTizbZ3hnGJlh/wMtCrlp1Hah6AzBLjGI5I2urTfNnpovpHdrL6YRuBOPnCA==
- dependencies:
- esbuild "^0.20.1"
- postcss "^8.4.36"
- rollup "^4.13.0"
+vite@6.3.4:
+ version "6.3.4"
+ resolved "https://registry.npmmirror.com/vite/-/vite-6.3.4.tgz#d441a72c7cd9a93b719bb851250a4e6c119c9cff"
+ integrity sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==
+ dependencies:
+ esbuild "^0.25.0"
+ fdir "^6.4.4"
+ picomatch "^4.0.2"
+ postcss "^8.5.3"
+ rollup "^4.34.9"
+ tinyglobby "^0.2.13"
optionalDependencies:
fsevents "~2.3.3"
diff --git a/console/src/main/java/net/somta/juggle/console/application/service/market/impl/TemplateServiceImpl.java b/console/src/main/java/net/somta/juggle/console/application/service/market/impl/TemplateServiceImpl.java
index 08b25ec5029414f87a3cfa264f425fe1a9eae512..e04d1045ff5998dc035498275a781f65c57509b9 100644
--- a/console/src/main/java/net/somta/juggle/console/application/service/market/impl/TemplateServiceImpl.java
+++ b/console/src/main/java/net/somta/juggle/console/application/service/market/impl/TemplateServiceImpl.java
@@ -59,7 +59,8 @@ public class TemplateServiceImpl implements ITemplateService {
@Override
public ResponsePaginationDataResult getTemplateMarketList(TemplateMarketQueryParam templateMarketQueryParam) {
- ResponsePaginationDataResult result = templateRepository.queryTemplateMarketList(templateMarketQueryParam.getPageNum(),templateMarketQueryParam.getPageSize(),templateMarketQueryParam.getTemplateName(),templateMarketQueryParam.getTemplateClassifyId());
+ ResponsePaginationDataResult result = templateRepository.queryTemplateMarketList(templateMarketQueryParam.getPageNum(),templateMarketQueryParam.getPageSize(),templateMarketQueryParam.getTemplateName()
+ ,templateMarketQueryParam.getTemplateClassifyId(),templateMarketQueryParam.getPriceStatus());
List templateList = ITemplateAssembler.IMPL.voListToDtoList(result.getResult());
return ResponsePaginationDataResult.setPaginationDataResult(result.getTotal(),templateList);
}
diff --git a/console/src/main/java/net/somta/juggle/console/application/service/suite/impl/SuiteServiceImpl.java b/console/src/main/java/net/somta/juggle/console/application/service/suite/impl/SuiteServiceImpl.java
index ba16974fe9d96d15b7d947dbbd83d7759dc7e412..64ceaf8811b873f197ebe25e8d0bf54f4b94211c 100644
--- a/console/src/main/java/net/somta/juggle/console/application/service/suite/impl/SuiteServiceImpl.java
+++ b/console/src/main/java/net/somta/juggle/console/application/service/suite/impl/SuiteServiceImpl.java
@@ -126,7 +126,7 @@ public class SuiteServiceImpl implements ISuiteService {
@Override
public ResponsePaginationDataResult getSuiteMarketList(SuiteMarketQueryParam suiteMarketQueryParam) {
- ResponsePaginationDataResult result = suiteRepository.querySuiteMarketList(suiteMarketQueryParam.getPageNum(),suiteMarketQueryParam.getPageSize(),suiteMarketQueryParam.getSuiteName(),suiteMarketQueryParam.getSuiteClassifyId());
+ ResponsePaginationDataResult result = suiteRepository.querySuiteMarketList(suiteMarketQueryParam.getPageNum(),suiteMarketQueryParam.getPageSize(),suiteMarketQueryParam.getSuiteName(),suiteMarketQueryParam.getSuiteClassifyId(),suiteMarketQueryParam.getPriceStatus());
List suiteList = ISuiteAssembler.IMPL.voListToDtoList(result.getResult());
return ResponsePaginationDataResult.setPaginationDataResult(result.getTotal(),suiteList);
}
diff --git a/console/src/main/java/net/somta/juggle/console/configuration/InterceptorConfiguration.java b/console/src/main/java/net/somta/juggle/console/configuration/InterceptorConfiguration.java
index 159d0e0aa674c499c18ae38d7fa46c70394bc821..6f2cf8db1752738f53a99c7fead3a85ffa7278a0 100644
--- a/console/src/main/java/net/somta/juggle/console/configuration/InterceptorConfiguration.java
+++ b/console/src/main/java/net/somta/juggle/console/configuration/InterceptorConfiguration.java
@@ -22,6 +22,8 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_API_PREFIX;
+
/**
* @author husong
* @since 1.0.0
@@ -44,7 +46,7 @@ public class InterceptorConfiguration implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(new AuthInterceptor(tokenService))
- .addPathPatterns("/v1/**")
- .excludePathPatterns("/v1/user/login");
+ .addPathPatterns("/api/**")
+ .excludePathPatterns(JUGGLE_API_PREFIX + "/user/login","/pub/**");
}
}
\ No newline at end of file
diff --git a/console/src/main/java/net/somta/juggle/console/configuration/MyBatisConfiguration.java b/console/src/main/java/net/somta/juggle/console/configuration/MyBatisConfiguration.java
index 5155d7f9afe437a6aea0399fec28ddc7ca2c72ef..d81ba275754faebac4984bcd0ae13c008d14b4da 100644
--- a/console/src/main/java/net/somta/juggle/console/configuration/MyBatisConfiguration.java
+++ b/console/src/main/java/net/somta/juggle/console/configuration/MyBatisConfiguration.java
@@ -52,6 +52,15 @@ public class MyBatisConfiguration {
@Value("${spring.datasource.password:juggle}")
private String password;
+ @Value("${spring.datasource.maximum-pool-size:100}")
+ private Integer maximumPoolSize;
+
+ @Value("${spring.datasource.minimum-idle:10}")
+ private Integer minimumIdle;
+
+ @Value("${spring.datasource.idle-timeout:60000}")
+ private Integer idleTimeout;
+
@Bean
public DataSource dataSource() {
HikariDataSource dataSource = new HikariDataSource();
@@ -59,6 +68,9 @@ public class MyBatisConfiguration {
dataSource.setJdbcUrl(url);
dataSource.setUsername(username);
dataSource.setPassword(password);
+ dataSource.setMaximumPoolSize(maximumPoolSize);
+ dataSource.setMinimumIdle(minimumIdle);
+ dataSource.setIdleTimeout(idleTimeout);
return dataSource;
}
diff --git a/console/src/main/java/net/somta/juggle/console/domain/flow/definition/vo/VariableInfoVO.java b/console/src/main/java/net/somta/juggle/console/domain/flow/definition/vo/VariableInfoVO.java
index 2f5a43c3659f44d6a388c8caf0d4a7f564d59166..7863d9ee0f4d6e7d37ba0f31da3a72965fc412ec 100644
--- a/console/src/main/java/net/somta/juggle/console/domain/flow/definition/vo/VariableInfoVO.java
+++ b/console/src/main/java/net/somta/juggle/console/domain/flow/definition/vo/VariableInfoVO.java
@@ -7,6 +7,10 @@ import net.somta.juggle.core.model.DataType;
*/
public class VariableInfoVO {
+ /**
+ * variable id
+ */
+ private Long id;
/**
* 变量Key,同一流程内唯一
*/
@@ -27,6 +31,14 @@ public class VariableInfoVO {
*/
private DataType dataType;
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
public String getEnvKey() {
return envKey;
}
diff --git a/console/src/main/java/net/somta/juggle/console/domain/flow/version/repository/IFlowVersionRepository.java b/console/src/main/java/net/somta/juggle/console/domain/flow/version/repository/IFlowVersionRepository.java
index 0dda438934f86fae7f5a3ed2ad48fe022a7b5810..5fcb65db483d7b140d62e95659fe2b8010aacaeb 100644
--- a/console/src/main/java/net/somta/juggle/console/domain/flow/version/repository/IFlowVersionRepository.java
+++ b/console/src/main/java/net/somta/juggle/console/domain/flow/version/repository/IFlowVersionRepository.java
@@ -23,6 +23,7 @@ public interface IFlowVersionRepository {
List queryFlowVersionList(FlowVersionQueryVO flowVersionQueryVo);
+ void invalidateFlowCache(String flowKey, String flowVersion);
}
diff --git a/console/src/main/java/net/somta/juggle/console/domain/flow/version/view/FlowVersionInfoView.java b/console/src/main/java/net/somta/juggle/console/domain/flow/version/view/FlowVersionInfoView.java
index 3a76eee9e00729228a897a659f0e01ca0f503b80..1adbff0f0cebd46d7ef56687656cd45a094ed6c3 100644
--- a/console/src/main/java/net/somta/juggle/console/domain/flow/version/view/FlowVersionInfoView.java
+++ b/console/src/main/java/net/somta/juggle/console/domain/flow/version/view/FlowVersionInfoView.java
@@ -12,6 +12,8 @@ public class FlowVersionInfoView {
private String flowType;
+ private String flowVersion;
+
private Integer flowVersionStatus;
private String flowContent;
@@ -55,6 +57,14 @@ public class FlowVersionInfoView {
this.flowType = flowType;
}
+ public String getFlowVersion() {
+ return flowVersion;
+ }
+
+ public void setFlowVersion(String flowVersion) {
+ this.flowVersion = flowVersion;
+ }
+
public Integer getFlowVersionStatus() {
return flowVersionStatus;
}
diff --git a/console/src/main/java/net/somta/juggle/console/domain/suite/suiteinfo/repository/ISuiteRepository.java b/console/src/main/java/net/somta/juggle/console/domain/suite/suiteinfo/repository/ISuiteRepository.java
index 1630a507dfdb79567968a606894650cb9de0d38e..6f6014e02ea69aee4222360a4524ce070fd37f4f 100644
--- a/console/src/main/java/net/somta/juggle/console/domain/suite/suiteinfo/repository/ISuiteRepository.java
+++ b/console/src/main/java/net/somta/juggle/console/domain/suite/suiteinfo/repository/ISuiteRepository.java
@@ -29,7 +29,7 @@ public interface ISuiteRepository {
List querySuiteMarketClassifyList();
- ResponsePaginationDataResult querySuiteMarketList(Integer pageNum,Integer pageSize,String suiteName, Long suiteClassifyId);
+ ResponsePaginationDataResult querySuiteMarketList(Integer pageNum,Integer pageSize,String suiteName, Long suiteClassifyId, Integer priceStatus);
SuiteMarketVO querySuiteMarketInfo(Long suiteId,String bill);
diff --git a/console/src/main/java/net/somta/juggle/console/domain/template/repository/ITemplateRepository.java b/console/src/main/java/net/somta/juggle/console/domain/template/repository/ITemplateRepository.java
index fab117c590559ff8d56bb63803708cda42757e5d..136a8f4e3b4ef0a137914fad22dc503b5ae16753 100644
--- a/console/src/main/java/net/somta/juggle/console/domain/template/repository/ITemplateRepository.java
+++ b/console/src/main/java/net/somta/juggle/console/domain/template/repository/ITemplateRepository.java
@@ -11,7 +11,7 @@ import java.util.List;
public interface ITemplateRepository {
List queryTemplateMarketClassifyList();
- ResponsePaginationDataResult queryTemplateMarketList(Integer pageNum, Integer pageSize, String templateName, Long templateClassifyId);
+ ResponsePaginationDataResult queryTemplateMarketList(Integer pageNum, Integer pageSize, String templateName, Long templateClassifyId, Integer priceStatus);
TemplateMarketInfoVO queryTemplateMarketInfo(Long templateId,String bill);
diff --git a/console/src/main/java/net/somta/juggle/console/infrastructure/converter/IVariableInfoConverter.java b/console/src/main/java/net/somta/juggle/console/infrastructure/converter/IVariableInfoConverter.java
index c4bc94f44554fa532741e3c344af564f04c59cb5..74d8320831e398f814ef0bc7100aaf911681c7a6 100644
--- a/console/src/main/java/net/somta/juggle/console/infrastructure/converter/IVariableInfoConverter.java
+++ b/console/src/main/java/net/somta/juggle/console/infrastructure/converter/IVariableInfoConverter.java
@@ -30,6 +30,7 @@ public interface IVariableInfoConverter {
VariableInfoVO variableInfoVo = null;
for (VariableInfoPO variableInfoPo : variableInfoPoList){
variableInfoVo = new VariableInfoVO();
+ variableInfoVo.setId(variableInfoPo.getId());
variableInfoVo.setEnvKey(variableInfoPo.getEnvKey());
variableInfoVo.setEnvName(variableInfoPo.getEnvName());
try {
diff --git a/console/src/main/java/net/somta/juggle/console/infrastructure/mapper/flow/FlowVersionMapper.java b/console/src/main/java/net/somta/juggle/console/infrastructure/mapper/flow/FlowVersionMapper.java
index e48a4ca745d346808a0926319e98b825a3d6c49f..21739b5754afdef792aa6ea912d5d9bd0abd61f7 100644
--- a/console/src/main/java/net/somta/juggle/console/infrastructure/mapper/flow/FlowVersionMapper.java
+++ b/console/src/main/java/net/somta/juggle/console/infrastructure/mapper/flow/FlowVersionMapper.java
@@ -14,10 +14,13 @@ public interface FlowVersionMapper extends IBaseMapper {
int deleteFlowVersionByFlowId(Long flowId);
+ FlowVersionInfoView queryFlowVersionInfoById(Long flowVersionId);
+
FlowVersionInfoView queryFlowVersionInfoByKey(FlowVersionQueryVO flowVersionQueryVo);
List queryFlowVersionList(FlowVersionQueryVO flowVersionQueryVO);
String queryLatestVersion(String flowKey);
+
}
diff --git a/console/src/main/java/net/somta/juggle/console/infrastructure/repository/VariableInfoRepositoryImpl.java b/console/src/main/java/net/somta/juggle/console/infrastructure/repository/VariableInfoRepositoryImpl.java
index bbc3473b8b49829c7bf2b1be11effb3558ffcc24..04c9c8d2858d2510394707439eda5d5c1cdc5725 100644
--- a/console/src/main/java/net/somta/juggle/console/infrastructure/repository/VariableInfoRepositoryImpl.java
+++ b/console/src/main/java/net/somta/juggle/console/infrastructure/repository/VariableInfoRepositoryImpl.java
@@ -41,7 +41,6 @@ public class VariableInfoRepositoryImpl implements IVariableInfoRepository {
@Override
public List queryVariableInfoList(Long flowDefinitionId) {
List variableInfoPoList = variableInfoMapper.queryVariableInfoListByDefinitionId(flowDefinitionId);
- List variableInfoVoList = IVariableInfoConverter.IMPL.poListToVoList(variableInfoPoList);
- return variableInfoVoList;
+ return IVariableInfoConverter.IMPL.poListToVoList(variableInfoPoList);
}
}
diff --git a/console/src/main/java/net/somta/juggle/console/infrastructure/repository/flow/FlowInfoRepositoryImpl.java b/console/src/main/java/net/somta/juggle/console/infrastructure/repository/flow/FlowInfoRepositoryImpl.java
index 967f76fa3df667c0b539d3dfa92bf5d35e92ce28..ae83b4b38dc2a66d56c984fde8753169b9012c8e 100644
--- a/console/src/main/java/net/somta/juggle/console/infrastructure/repository/flow/FlowInfoRepositoryImpl.java
+++ b/console/src/main/java/net/somta/juggle/console/infrastructure/repository/flow/FlowInfoRepositoryImpl.java
@@ -22,6 +22,7 @@ import net.somta.juggle.console.domain.flow.flowinfo.repository.IFlowInfoReposit
import net.somta.juggle.console.domain.flow.flowinfo.vo.FlowInfoQueryVO;
import net.somta.juggle.console.domain.flow.flowinfo.vo.FlowInfoVO;
import net.somta.juggle.console.domain.flow.version.enums.FlowVersionStatusEnum;
+import net.somta.juggle.console.domain.flow.version.repository.IFlowVersionRepository;
import net.somta.juggle.console.infrastructure.converter.flow.IFlowInfoConverter;
import net.somta.juggle.console.infrastructure.converter.flow.IFlowVersionConverter;
import net.somta.juggle.console.infrastructure.mapper.flow.FlowInfoMapper;
@@ -43,10 +44,12 @@ public class FlowInfoRepositoryImpl implements IFlowInfoRepository {
private final FlowInfoMapper flowInfoMapper;
private final FlowVersionMapper flowVersionMapper;
+ private final IFlowVersionRepository flowVersionRepository;
- public FlowInfoRepositoryImpl(FlowInfoMapper flowInfoMapper, FlowVersionMapper flowVersionMapper) {
+ public FlowInfoRepositoryImpl(FlowInfoMapper flowInfoMapper, FlowVersionMapper flowVersionMapper, IFlowVersionRepository flowVersionRepository) {
this.flowInfoMapper = flowInfoMapper;
this.flowVersionMapper = flowVersionMapper;
+ this.flowVersionRepository = flowVersionRepository;
}
@Transactional(rollbackFor = Exception.class)
@@ -92,6 +95,8 @@ public class FlowInfoRepositoryImpl implements IFlowInfoRepository {
flowVersionPo.setCreatedAt(currentDate);
flowVersionPo.setCreatedBy(IdentityContext.getIdentity().getUserId());
flowVersionMapper.add(flowVersionPo);
+
+ flowVersionRepository.invalidateFlowCache(flowInfoAo.getFlowKey(),flowInfoAo.getFlowVersion());
return true;
}
}
diff --git a/console/src/main/java/net/somta/juggle/console/infrastructure/repository/flow/FlowVersionRepositoryImpl.java b/console/src/main/java/net/somta/juggle/console/infrastructure/repository/flow/FlowVersionRepositoryImpl.java
index c710bee4afb53e14de41b8ec1388987e47645cc4..1e9a4bfe75700931636e422604dd41cb85cc11ef 100644
--- a/console/src/main/java/net/somta/juggle/console/infrastructure/repository/flow/FlowVersionRepositoryImpl.java
+++ b/console/src/main/java/net/somta/juggle/console/infrastructure/repository/flow/FlowVersionRepositoryImpl.java
@@ -16,7 +16,10 @@ along with this program; if not, visit flowVersionCache = Caffeine.newBuilder()
+ .expireAfterAccess(24, TimeUnit.HOURS)
+ .initialCapacity(5)
+ .maximumSize(300)
+ .build();
+
private final FlowVersionMapper flowVersionMapper;
public FlowVersionRepositoryImpl(FlowVersionMapper flowVersionMapper) {
@@ -43,6 +55,11 @@ public class FlowVersionRepositoryImpl implements IFlowVersionRepository {
@Override
public void deleteFlowVersionById(Long flowVersionId) {
+ FlowVersionInfoView flowVersion = flowVersionMapper.queryFlowVersionInfoById(flowVersionId);
+ if(flowVersion != null){
+ String flowCacheKey = flowVersion.getFlowKey() + COLON + flowVersion.getFlowVersion();
+ flowVersionCache.invalidate(flowCacheKey);
+ }
FlowVersionPO flowVersionPo = new FlowVersionPO();
flowVersionPo.setId(flowVersionId);
flowVersionPo.setDeleted(1);
@@ -64,16 +81,24 @@ public class FlowVersionRepositoryImpl implements IFlowVersionRepository {
@Override
public FlowVersionAO getFlowVersionInfo(Long flowVersionId) {
FlowVersionPO flowVersionPo = flowVersionMapper.queryById(flowVersionId);
- FlowVersionAO flowVersionAo = IFlowVersionConverter.IMPL.poToAo(flowVersionPo);
- return flowVersionAo;
+ return IFlowVersionConverter.IMPL.poToAo(flowVersionPo);
}
@Override
public FlowVersionInfoView queryFlowVersionInfoByKey(String flowKey, String flowVersion) {
+ String flowCacheKey = flowKey + COLON + flowVersion;
+ FlowVersionInfoView cacheFlowVersionInfoView =flowVersionCache.getIfPresent(flowCacheKey);
+ if(cacheFlowVersionInfoView != null){
+ return cacheFlowVersionInfoView;
+ }
+
FlowVersionQueryVO flowVersionQueryVo = new FlowVersionQueryVO();
flowVersionQueryVo.setFlowKey(flowKey);
flowVersionQueryVo.setFlowVersion(flowVersion);
FlowVersionInfoView flowVersionInfoView = flowVersionMapper.queryFlowVersionInfoByKey(flowVersionQueryVo);
+ if(flowVersionInfoView != null){
+ flowVersionCache.put(flowCacheKey,flowVersionInfoView);
+ }
return flowVersionInfoView;
}
@@ -82,4 +107,10 @@ public class FlowVersionRepositoryImpl implements IFlowVersionRepository {
List flowVersionViewList = flowVersionMapper.queryFlowVersionList(flowVersionQueryVO);
return flowVersionViewList;
}
+
+ @Override
+ public void invalidateFlowCache(String flowKey, String flowVersion) {
+ String flowCacheKey = flowKey + COLON + flowVersion;
+ flowVersionCache.invalidate(flowCacheKey);
+ }
}
diff --git a/console/src/main/java/net/somta/juggle/console/infrastructure/repository/market/TemplateRepositoryImpl.java b/console/src/main/java/net/somta/juggle/console/infrastructure/repository/market/TemplateRepositoryImpl.java
index 29efe0e8fc5567bb9e3f8b194c5bdbe46a25db98..ed25364aa79ca0378dbf627028e8cbc113183d35 100644
--- a/console/src/main/java/net/somta/juggle/console/infrastructure/repository/market/TemplateRepositoryImpl.java
+++ b/console/src/main/java/net/somta/juggle/console/infrastructure/repository/market/TemplateRepositoryImpl.java
@@ -54,7 +54,7 @@ public class TemplateRepositoryImpl implements ITemplateRepository {
}
@Override
- public ResponsePaginationDataResult queryTemplateMarketList(Integer pageNum, Integer pageSize, String templateName, Long templateClassifyId) {
+ public ResponsePaginationDataResult queryTemplateMarketList(Integer pageNum, Integer pageSize, String templateName, Long templateClassifyId, Integer priceStatus) {
ResponsePaginationDataResult result = new ResponsePaginationDataResult<>();
Map param = new HashMap<>();
param.put("pageNum",pageNum);
@@ -65,6 +65,9 @@ public class TemplateRepositoryImpl implements ITemplateRepository {
if(templateClassifyId != null){
param.put("templateClassifyId",templateClassifyId);
}
+ if(priceStatus != null){
+ param.put("priceStatus",priceStatus);
+ }
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity entity = null;
diff --git a/console/src/main/java/net/somta/juggle/console/infrastructure/repository/suite/SuiteRepositoryImpl.java b/console/src/main/java/net/somta/juggle/console/infrastructure/repository/suite/SuiteRepositoryImpl.java
index f26d59a78ef2fba496a04ef9d7c4158d31e931fa..dc8c994ed7b104bd5aff02b802bf0bc76faad5f1 100644
--- a/console/src/main/java/net/somta/juggle/console/infrastructure/repository/suite/SuiteRepositoryImpl.java
+++ b/console/src/main/java/net/somta/juggle/console/infrastructure/repository/suite/SuiteRepositoryImpl.java
@@ -107,7 +107,7 @@ public class SuiteRepositoryImpl implements ISuiteRepository {
}
@Override
- public ResponsePaginationDataResult querySuiteMarketList(Integer pageNum,Integer pageSize,String suiteName,Long suiteClassifyId) {
+ public ResponsePaginationDataResult querySuiteMarketList(Integer pageNum,Integer pageSize,String suiteName,Long suiteClassifyId, Integer priceStatus) {
ResponsePaginationDataResult result = new ResponsePaginationDataResult<>();
Map param = new HashMap<>();
param.put("pageNum",pageNum);
@@ -118,6 +118,9 @@ public class SuiteRepositoryImpl implements ISuiteRepository {
if(suiteClassifyId != null){
param.put("suiteClassifyId",suiteClassifyId);
}
+ if(priceStatus != null){
+ param.put("priceStatus",priceStatus);
+ }
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity entity = null;
diff --git a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/DataTypeInfoController.java b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/DataTypeInfoController.java
index 39095b30d12ba6be2324f93b740b4e8c1be7c5bc..98b531a8ded78f4a3cf9765f4254e7345e66844f 100644
--- a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/DataTypeInfoController.java
+++ b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/DataTypeInfoController.java
@@ -25,6 +25,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
+import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_API_PREFIX;
import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERVER_VERSION;
/**
@@ -33,7 +34,7 @@ import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERV
*/
@Tag(name = "数据类型接口")
@RestController
-@RequestMapping(JUGGLE_SERVER_VERSION + "/dataType")
+@RequestMapping(JUGGLE_API_PREFIX + "/dataType")
public class DataTypeInfoController {
private final IDataTypeInfoService dataTypeInfoService;
diff --git a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/ObjectController.java b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/ObjectController.java
index fe0af2906f670326fc4e77063fdb9d93f9466b37..d290f4b0ba803f7dd05e0900e1b065f037d8d869 100644
--- a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/ObjectController.java
+++ b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/ObjectController.java
@@ -30,6 +30,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
+import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_API_PREFIX;
import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERVER_VERSION;
import static net.somta.juggle.console.domain.object.enums.ObjectErrorEnum.OBJECT_KEY_EXIST;
@@ -39,7 +40,7 @@ import static net.somta.juggle.console.domain.object.enums.ObjectErrorEnum.OBJEC
*/
@Tag(name = "对象接口")
@RestController
-@RequestMapping(JUGGLE_SERVER_VERSION + "/object")
+@RequestMapping(JUGGLE_API_PREFIX + "/object")
public class ObjectController {
private final IObjectService objectService;
diff --git a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/OrderController.java b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/OrderController.java
index ba075ba61a39cf86eff41e8b0e2e98481e2fe756..375764f994adceb5f94fd162edadc4cbd005a185 100644
--- a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/OrderController.java
+++ b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/OrderController.java
@@ -26,6 +26,7 @@ import net.somta.juggle.console.interfaces.param.OrderParam;
import org.springframework.web.bind.annotation.*;
+import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_API_PREFIX;
import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERVER_VERSION;
@@ -35,7 +36,7 @@ import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERV
*/
@Tag(name = "订单接口")
@RestController
-@RequestMapping(JUGGLE_SERVER_VERSION + "/order")
+@RequestMapping(JUGGLE_API_PREFIX + "/order")
public class OrderController {
private final IOrderService orderService;
diff --git a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/UserController.java b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/UserController.java
index de16b9310137e484411f4668521ede9ad39f5e1c..9f83a184bcb2cc6a3a58c212581ad43c980b2740 100644
--- a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/UserController.java
+++ b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/UserController.java
@@ -40,6 +40,7 @@ import java.util.Date;
import java.util.HashMap;
import java.util.Map;
+import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_API_PREFIX;
import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERVER_VERSION;
@@ -49,7 +50,7 @@ import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERV
*/
@Tag(name = "用户接口")
@RestController
-@RequestMapping(JUGGLE_SERVER_VERSION + "/user")
+@RequestMapping(JUGGLE_API_PREFIX + "/user")
public class UserController {
private final IUserService userService;
diff --git a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/flow/FlowDefinitionController.java b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/flow/FlowDefinitionController.java
index 5ab1bebd98a9ad2b0a167b2dab9056a2d48668fd..b7587ccca28ef925d86309a37bd8a01c44072d8b 100644
--- a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/flow/FlowDefinitionController.java
+++ b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/flow/FlowDefinitionController.java
@@ -37,6 +37,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.*;
+import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_API_PREFIX;
import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERVER_VERSION;
import static net.somta.juggle.console.domain.flow.definition.enums.FlowDefinitionErrorEnum.*;
import static net.somta.juggle.console.domain.flow.flowinfo.enums.FlowErrorEnum.*;
@@ -48,7 +49,7 @@ import static net.somta.juggle.console.domain.flow.flowinfo.enums.FlowErrorEnum.
**/
@Tag(name = "流程定义接口")
@RestController
-@RequestMapping(JUGGLE_SERVER_VERSION + "/flow/definition")
+@RequestMapping(JUGGLE_API_PREFIX + "/flow/definition")
public class FlowDefinitionController {
private final static Logger logger = LoggerFactory.getLogger(FlowDefinitionController.class);
diff --git a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/flow/FlowInfoController.java b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/flow/FlowInfoController.java
index 64b36b8b482b5fbe9c545018788b6c6f0b01da7a..17158a00a14845be1d6ec7b7d310cb32dd0d0058 100644
--- a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/flow/FlowInfoController.java
+++ b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/flow/FlowInfoController.java
@@ -26,6 +26,7 @@ import net.somta.juggle.console.interfaces.param.flow.FlowInfoPageParam;
import net.somta.juggle.console.application.service.flow.IFlowInfoService;
import org.springframework.web.bind.annotation.*;
+import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_API_PREFIX;
import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERVER_VERSION;
/**
@@ -34,7 +35,7 @@ import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERV
*/
@Tag(name = "流程信息接口")
@RestController
-@RequestMapping(JUGGLE_SERVER_VERSION + "/flow")
+@RequestMapping(JUGGLE_API_PREFIX + "/flow")
public class FlowInfoController {
private final IFlowInfoService flowInfoService;
diff --git a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/flow/FlowVersionController.java b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/flow/FlowVersionController.java
index dff4418027855dcc940f9c59d0d83f171f3b7dcb..a1938d4da9089ddae5ad2e6b95880bb69d79b3c5 100644
--- a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/flow/FlowVersionController.java
+++ b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/flow/FlowVersionController.java
@@ -35,6 +35,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.Map;
+import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_API_PREFIX;
import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERVER_VERSION;
import static net.somta.juggle.console.domain.flow.flowinfo.enums.FlowErrorEnum.*;
import static net.somta.juggle.console.domain.flow.version.enums.FlowVersionErrorEnum.ENABLE_FLOW_NOT_DELETE;
@@ -46,7 +47,7 @@ import static net.somta.juggle.console.domain.flow.version.enums.FlowVersionErro
*/
@Tag(name = "流程版本接口")
@RestController
-@RequestMapping(JUGGLE_SERVER_VERSION + "/flow/version/")
+@RequestMapping(JUGGLE_API_PREFIX + "/flow/version/")
public class FlowVersionController {
private final IFlowVersionService flowVersionService;
diff --git a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/market/TemplateController.java b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/market/TemplateController.java
index c7c91b395754cdd6ee8f0788dcf80d18aa0f2865..d054ce43051f48b83c7d6198ef8c4a5850552050 100644
--- a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/market/TemplateController.java
+++ b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/market/TemplateController.java
@@ -14,11 +14,12 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
+import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_API_PREFIX;
import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERVER_VERSION;
@Tag(name = "模板接口")
@RestController
-@RequestMapping(JUGGLE_SERVER_VERSION + "/template")
+@RequestMapping(JUGGLE_API_PREFIX + "/template")
public class TemplateController {
private final ITemplateService templateService;
diff --git a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/suite/ApiController.java b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/suite/ApiController.java
index 74c75dd08f5be0253f98c0f72b5403bf7f568a2c..3006402d42aef4a96ebaf1e90069410d934eeac8 100644
--- a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/suite/ApiController.java
+++ b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/suite/ApiController.java
@@ -38,6 +38,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
+import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_API_PREFIX;
import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERVER_VERSION;
import static net.somta.juggle.console.domain.suite.api.enums.ApiErrorEnum.API_NOT_EDIT_ERROR;
import static net.somta.juggle.console.domain.suite.suiteinfo.enums.SuiteErrorEnum.SUITE_IS_EXIST_ERROR;
@@ -48,7 +49,7 @@ import static net.somta.juggle.console.domain.suite.suiteinfo.enums.SuiteErrorEn
*/
@Tag(name = "API接口")
@RestController
-@RequestMapping(JUGGLE_SERVER_VERSION + "/api")
+@RequestMapping(JUGGLE_API_PREFIX + "/api")
public class ApiController {
private final IApiService apiService;
diff --git a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/suite/SuiteController.java b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/suite/SuiteController.java
index f2bf7f35eebebe844c7f1c370ad5c301f82f9fa1..5b4dd3d0a63685f3977ee984bc2776c97fcae6ad 100644
--- a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/suite/SuiteController.java
+++ b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/suite/SuiteController.java
@@ -31,6 +31,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
+import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_API_PREFIX;
import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERVER_VERSION;
/**
@@ -39,7 +40,7 @@ import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERV
*/
@Tag(name = "套件接口")
@RestController
-@RequestMapping(JUGGLE_SERVER_VERSION + "/suite")
+@RequestMapping(JUGGLE_API_PREFIX + "/suite")
public class SuiteController {
private final ISuiteService suiteService;
private final IApiService apiService;
diff --git a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/system/DataSourceController.java b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/system/DataSourceController.java
index 0e59066c4b4d6774132ea59697c1c181a9e2b83c..5cc7651579a98b2bda1ca653d9ee63365fdd6a43 100644
--- a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/system/DataSourceController.java
+++ b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/system/DataSourceController.java
@@ -14,11 +14,12 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
+import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_API_PREFIX;
import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERVER_VERSION;
@Tag(name = "数据源接口")
@RestController
-@RequestMapping(JUGGLE_SERVER_VERSION + "/datasource")
+@RequestMapping(JUGGLE_API_PREFIX + "/datasource")
public class DataSourceController {
private final IDataSourceService dataSourceService;
diff --git a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/system/TokenController.java b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/system/TokenController.java
index 1df42ca871deddc82aac265f8f6fa5680c1c83fc..9e790a8c91bf53653f361220eb0a5ecbca56230b 100644
--- a/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/system/TokenController.java
+++ b/console/src/main/java/net/somta/juggle/console/interfaces/controller/api/system/TokenController.java
@@ -30,6 +30,7 @@ import org.springframework.web.bind.annotation.*;
import java.util.List;
+import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_API_PREFIX;
import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERVER_VERSION;
/**
@@ -38,7 +39,7 @@ import static net.somta.juggle.common.constants.ApplicationConstants.JUGGLE_SERV
*/
@Tag(name = "令牌接口")
@RestController
-@RequestMapping(JUGGLE_SERVER_VERSION + "/token")
+@RequestMapping(JUGGLE_API_PREFIX + "/token")
public class TokenController {
private final ITokenService tokenService;
diff --git a/console/src/main/java/net/somta/juggle/console/interfaces/param/market/TemplateMarketQueryParam.java b/console/src/main/java/net/somta/juggle/console/interfaces/param/market/TemplateMarketQueryParam.java
index f3cb8297da116755948f8f59821003f00a6c4674..d1d27b06f2375ed48bf4d099d6cc3617780cb40b 100644
--- a/console/src/main/java/net/somta/juggle/console/interfaces/param/market/TemplateMarketQueryParam.java
+++ b/console/src/main/java/net/somta/juggle/console/interfaces/param/market/TemplateMarketQueryParam.java
@@ -9,6 +9,7 @@ import net.somta.core.base.page.PageParam;
public class TemplateMarketQueryParam extends PageParam {
private String templateName;
private Long templateClassifyId;
+ private Integer priceStatus;
public String getTemplateName() {
return templateName;
@@ -25,4 +26,12 @@ public class TemplateMarketQueryParam extends PageParam {
public void setTemplateClassifyId(Long templateClassifyId) {
this.templateClassifyId = templateClassifyId;
}
+
+ public Integer getPriceStatus() {
+ return priceStatus;
+ }
+
+ public void setPriceStatus(Integer priceStatus) {
+ this.priceStatus = priceStatus;
+ }
}
diff --git a/console/src/main/java/net/somta/juggle/console/interfaces/param/suite/SuiteMarketQueryParam.java b/console/src/main/java/net/somta/juggle/console/interfaces/param/suite/SuiteMarketQueryParam.java
index f7f52da0a9aebb19770e7647946950592564d27b..b5eca7b45159ed966f7c7140e5c5d15e4cb86997 100644
--- a/console/src/main/java/net/somta/juggle/console/interfaces/param/suite/SuiteMarketQueryParam.java
+++ b/console/src/main/java/net/somta/juggle/console/interfaces/param/suite/SuiteMarketQueryParam.java
@@ -9,6 +9,7 @@ import net.somta.core.base.page.PageParam;
public class SuiteMarketQueryParam extends PageParam {
private String suiteName;
private Long suiteClassifyId;
+ private Integer priceStatus;
public String getSuiteName() {
return suiteName;
@@ -25,4 +26,12 @@ public class SuiteMarketQueryParam extends PageParam {
public void setSuiteClassifyId(Long suiteClassifyId) {
this.suiteClassifyId = suiteClassifyId;
}
+
+ public Integer getPriceStatus() {
+ return priceStatus;
+ }
+
+ public void setPriceStatus(Integer priceStatus) {
+ this.priceStatus = priceStatus;
+ }
}
diff --git a/console/src/main/resources/application.properties b/console/src/main/resources/application.properties
index bce903d6580874db92dcdaafff5b3ab043fd6123..902d57abaffb109d02ac84f5dac8f7e877982858 100644
--- a/console/src/main/resources/application.properties
+++ b/console/src/main/resources/application.properties
@@ -1,5 +1,9 @@
server.port=9127
spring.application.name=juggle
+spring.jackson.time-zone=Asia/Shanghai
+
+#tomcat connection count
+server.tomcat.threads.max=1000
##H2##
spring.datasource.driver-class-name=org.h2.Driver
@@ -15,6 +19,12 @@ spring.h2.console.path=/h2-console
#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/juggle?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
#spring.datasource.username=root
#spring.datasource.password=123456
+#datasource pool max connection count
+spring.datasource.maximum-pool-size=100
+#datasource pool min idle connection count
+spring.datasource.minimum-idle=10
+#The maximum amount of time that a connection is allowed to sit idle in the pool
+spring.datasource.idle-timeout=60000
##Basic Config##
#juggle.api-key=e543283fa34c4a9f9f76bcc3c3f31905
diff --git a/console/src/main/resources/data/application-default.properties b/console/src/main/resources/data/application-default.properties
index 62cc955a9660cadad22329805072ad4f01ffe901..c665465bb3773e270d86ef215a2626324cddbc63 100644
--- a/console/src/main/resources/data/application-default.properties
+++ b/console/src/main/resources/data/application-default.properties
@@ -1,5 +1,9 @@
server.port=9127
spring.application.name=juggle
+spring.jackson.time-zone=Asia/Shanghai
+
+#tomcat connection count
+server.tomcat.threads.max=1000
##H2##
spring.datasource.driver-class-name=org.h2.Driver
@@ -15,6 +19,15 @@ spring.h2.console.path=/h2-console
#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/juggle?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
#spring.datasource.username=root
#spring.datasource.password=123456
+#datasource pool max connection count
+spring.datasource.maximum-pool-size=100
+#datasource pool min idle connection count
+spring.datasource.minimum-idle=10
+#The maximum amount of time that a connection is allowed to sit idle in the pool
+spring.datasource.idle-timeout=60000
+
+##Basic Config##
+#juggle.api-key=e543283fa34c4a9f9f76bcc3c3f31905
##Redis Cache##
#juggle.cache.cache-type="redis"
diff --git a/console/src/main/resources/data/docker-startup.sh b/console/src/main/resources/data/docker-startup.sh
new file mode 100644
index 0000000000000000000000000000000000000000..24b7837172950c2fedeb1ce0adfe1946c6fc44b2
--- /dev/null
+++ b/console/src/main/resources/data/docker-startup.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+# Copyright 2021-2025 somta.
+# shell debug set -x
+# set -x
+
+function join_if_exist() {
+ if [ -n "$2" ]; then
+ echo "$1$2"
+ else
+ echo ""
+ fi
+}
+
+#===========================================================================================
+# JVM Configuration
+#===========================================================================================
+Xms=$(join_if_exist "-Xms" ${JVM_XMS})
+Xmx=$(join_if_exist "-Xmx" ${JVM_XMX})
+XX_MS=$(join_if_exist "-XX:MetaspaceSize=" ${JVM_MS})
+XX_MMS=$(join_if_exist "-XX:MaxMetaspaceSize=" ${JVM_MMS})
+
+JAVA_OPT="${JAVA_OPT} $Xms $Xmx $XX_MS $XX_MMS"
+JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof"
+JAVA_OPT="${JAVA_OPT} -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 -XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 "
+if [ "${JVM_GC_LOG}" == "true" ]; then
+ JAVA_OPT="${JAVA_OPT} -Xloggc:${BASE_DIR}/logs/juggle_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M"
+fi
+
+#===========================================================================================
+# Setting system properties
+#===========================================================================================
+JAVA_OPT="${JAVA_OPT} -Duser.timezone=${TIME_ZONE}"
+JAVA_OPT="${JAVA_OPT} --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED"
+JAVA_OPT="${JAVA_OPT} -jar /juggle-server.jar"
+JAVA_OPT="${JAVA_OPT} --spring.config.additional-location=${BASE_DIR}/conf/application.properties"
+
+echo "Juggle is starting, you can docker logs your container JAVA_OPT: ${JAVA_OPT} "
+exec java ${JAVA_OPT}
\ No newline at end of file
diff --git a/console/src/main/resources/mybatis/FlowVersionMapper.xml b/console/src/main/resources/mybatis/FlowVersionMapper.xml
index 0ffdf351fc8bc2c7ac258b2fbd950c02ddcd20ae..d1fe48604d20da88dda235653a3ab9d045274429 100644
--- a/console/src/main/resources/mybatis/FlowVersionMapper.xml
+++ b/console/src/main/resources/mybatis/FlowVersionMapper.xml
@@ -13,11 +13,27 @@
from t_flow_info i inner join t_flow_version v on i.id = v.flow_id where v.deleted = 0 and i.flow_key = #{flowKey}
+
+
+
@@ -365,7 +374,7 @@ function hideModel() {
-
-
+
-
@@ -482,6 +491,18 @@ function hideModel() {
+ -
+
+
+
+
+
+ -
+
+
+
+
+
diff --git a/docs/src/layouts/FooterSlot.vue b/docs/src/layouts/FooterSlot.vue
index 8c05d4ea4d100565adfe403bf3a62c1edb8b964c..565c8ff993e6c9c842ef6e4a383ac34a7e3f9eb9 100644
--- a/docs/src/layouts/FooterSlot.vue
+++ b/docs/src/layouts/FooterSlot.vue
@@ -49,7 +49,7 @@
diff --git a/pom.xml b/pom.xml
index 5a520c3b3101e68e5d83da43561d67486831cf32..7fe1806a5e6c00c093b524550c5051e712547d09 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,11 +15,11 @@
8
8
- 1.3.1
+ 1.3.2
1.0.1
1.0.0
1.0.1
- 1.1.3
+ 1.1.4
2.1.4
5.3.1
2.2.220
diff --git a/sdk/juggle-sdk-nodejs/package.json b/sdk/juggle-sdk-nodejs/package.json
index 14d1bd7c8b6be88f97a9fb6415e972e1d363c1e8..5b875300ed7731095e0f062f54d01cef02566011 100644
--- a/sdk/juggle-sdk-nodejs/package.json
+++ b/sdk/juggle-sdk-nodejs/package.json
@@ -53,7 +53,6 @@
"typescript": "^5.6.3"
},
"dependencies": {
- "node-fetch": "2",
- "query-string": "^7.1.3"
+ "node-fetch": "2"
}
}
diff --git a/sdk/juggle-sdk-nodejs/pnpm-lock.yaml b/sdk/juggle-sdk-nodejs/pnpm-lock.yaml
index 06eef1e341d41e8609b6506bd16273c9eb30daae..30b810edf80cfe9d3acab8ac36d277f4b83127ec 100644
--- a/sdk/juggle-sdk-nodejs/pnpm-lock.yaml
+++ b/sdk/juggle-sdk-nodejs/pnpm-lock.yaml
@@ -11,9 +11,6 @@ importers:
node-fetch:
specifier: '2'
version: 2.7.0(encoding@0.1.13)
- query-string:
- specifier: ^7.1.3
- version: 7.1.3
devDependencies:
'@rollup/plugin-commonjs':
specifier: ^28.0.1
@@ -2634,10 +2631,6 @@ packages:
resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==}
engines: {node: '>=6'}
- query-string@7.1.3:
- resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==}
- engines: {node: '>=6'}
-
quick-lru@1.1.0:
resolution: {integrity: sha512-tRS7sTgyxMXtLum8L65daJnHUhfDUgboRdcWW2bR9vBfrj2+O5HSMbQOJfJJjIVSPFqbBCF37FpwWXGitDc5tA==}
engines: {node: '>=4'}
@@ -6602,13 +6595,6 @@ snapshots:
split-on-first: 1.1.0
strict-uri-encode: 2.0.0
- query-string@7.1.3:
- dependencies:
- decode-uri-component: 0.2.2
- filter-obj: 1.1.0
- split-on-first: 1.1.0
- strict-uri-encode: 2.0.0
-
quick-lru@1.1.0: {}
quick-lru@4.0.1: {}
diff --git a/sdk/juggle-sdk-nodejs/src/index.ts b/sdk/juggle-sdk-nodejs/src/index.ts
index 5b8b9de42be9d90d93cab87f63c3739ffd741602..ae27896767b931decd8d9042e1220822e4cc272a 100644
--- a/sdk/juggle-sdk-nodejs/src/index.ts
+++ b/sdk/juggle-sdk-nodejs/src/index.ts
@@ -1,5 +1,4 @@
import * as request from './utils/request';
-import qs from 'query-string';
import {IConfig} from "./IConfig";
@@ -17,14 +16,11 @@ export default class JuggleClient {
async triggerFlow(
flowVersion: string,
flowKey: string,
- triggerData: FlowTriggerDataParam,
- flowData?: Record
+ flowData: FlowTriggerDataParam
) {
- const url =
- `${this.config.serverAddr}${TRIGGER_FLOW_URL}/${flowVersion}/${flowKey}` +
- qs.stringify(triggerData);
+ const url = `${this.config.serverAddr}${TRIGGER_FLOW_URL}/${flowVersion}/${flowKey}`;
- const response = await request.get(url, {
+ const response = await request.post(url, flowData,{
'Juggle-Token': this.config.accessToken,
});
return response;
diff --git a/sdk/juggle-sdk-python/README.md b/sdk/juggle-sdk-python/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..477801f89af01c5a14a80f56107b8373c1c45955
--- /dev/null
+++ b/sdk/juggle-sdk-python/README.md
@@ -0,0 +1 @@
+# juggle python sdk