From 8f62f44523018d90efd8caf175879c1fbf1ec07c Mon Sep 17 00:00:00 2001 From: HZG System Date: Mon, 22 Jun 2026 10:28:37 +0800 Subject: [PATCH 01/10] =?UTF-8?q?{"Message":"=E7=AD=BE=E5=87=BA=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=20:=20ensureConnectionReady","MessageType":1,"Modules?= =?UTF-8?q?":[],"Version":"v1"}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .collaboration | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.collaboration b/.collaboration index fd5989e..9eb373a 100644 --- a/.collaboration +++ b/.collaboration @@ -451,5 +451,16 @@ "ModuleName": "Image/1780641538_bot_white_lines.png", "ModuleType": 38, "IconType": 41 + }, + { + "ModuleName": "ServerCommand/ensureConnectionReady", + "State": 3, + "LockedBy": { + "UserName": "XA-GCSCN-WILL\\NingWei", + "Email": "will.ning@grapecity.com" + }, + "LockDateTime": "2026-06-22T10:28:37.3506542+08:00", + "ModuleType": 15, + "IconType": 15 } ] \ No newline at end of file -- Gitee From 7555fe639f13ea2f669bce8c35e024cd67a14d5c Mon Sep 17 00:00:00 2001 From: HZG System Date: Mon, 22 Jun 2026 10:33:31 +0800 Subject: [PATCH 02/10] =?UTF-8?q?{"Message":"=E7=AD=BE=E5=87=BA=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=20:=20ensureConnectionReady","MessageType":1,"Modules?= =?UTF-8?q?":[],"Version":"v1"}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .collaboration | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.collaboration b/.collaboration index 9eb373a..5459931 100644 --- a/.collaboration +++ b/.collaboration @@ -453,14 +453,14 @@ "IconType": 41 }, { - "ModuleName": "ServerCommand/ensureConnectionReady", + "ModuleName": "ServerCommandPrivate/ensureConnectionReady", "State": 3, "LockedBy": { "UserName": "XA-GCSCN-WILL\\NingWei", "Email": "will.ning@grapecity.com" }, - "LockDateTime": "2026-06-22T10:28:37.3506542+08:00", - "ModuleType": 15, - "IconType": 15 + "LockDateTime": "2026-06-22T10:33:31.3274045+08:00", + "ModuleType": 27, + "IconType": 16 } ] \ No newline at end of file -- Gitee From 40b1dd891f59f53aee8c293c78a1ba65924198eb Mon Sep 17 00:00:00 2001 From: HZG System Date: Mon, 22 Jun 2026 10:34:27 +0800 Subject: [PATCH 03/10] =?UTF-8?q?{"Message":"=E7=AD=BE=E5=87=BA=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=20:=20sendMessage","MessageType":1,"Modules":[],"Vers?= =?UTF-8?q?ion":"v1"}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .collaboration | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.collaboration b/.collaboration index 5459931..ebe71ae 100644 --- a/.collaboration +++ b/.collaboration @@ -183,8 +183,17 @@ }, { "ModuleName": "ServerCommand/sendMessage", + "State": 1, + "LockedBy": { + "UserName": "XA-GCSCN-WILL\\NingWei", + "Email": "will.ning@grapecity.com" + }, + "LockDateTime": "2026-06-22T10:34:27.6000457+08:00", "ModuleType": 15, - "IconType": 15 + "IconType": 15, + "ToRemoveFiles": [ + "ServerCommands\\会话\\sendMessage.json" + ] }, { "ModuleName": "ServerCommand/sendFile", -- Gitee From 9c0551526defdcb83befd0a37c48f06ae966f3e7 Mon Sep 17 00:00:00 2001 From: HZG System Date: Mon, 22 Jun 2026 10:38:43 +0800 Subject: [PATCH 04/10] =?UTF-8?q?{"Message":"=E7=AD=BE=E5=87=BA=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=20:=20ensureMQTTSubscription","MessageType":1,"Module?= =?UTF-8?q?s":[],"Version":"v1"}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .collaboration | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/.collaboration b/.collaboration index ebe71ae..a957667 100644 --- a/.collaboration +++ b/.collaboration @@ -188,7 +188,7 @@ "UserName": "XA-GCSCN-WILL\\NingWei", "Email": "will.ning@grapecity.com" }, - "LockDateTime": "2026-06-22T10:34:27.6000457+08:00", + "LockDateTime": "2026-06-22T10:38:43.6658723+08:00", "ModuleType": 15, "IconType": 15, "ToRemoveFiles": [ @@ -202,7 +202,7 @@ "UserName": "XA-GCSCN-WILL\\NingWei", "Email": "will.ning@grapecity.com" }, - "LockDateTime": "2026-06-16T14:19:49.6615176+08:00", + "LockDateTime": "2026-06-22T10:38:43.6658516+08:00", "ModuleType": 15, "IconType": 15, "ToRemoveFiles": [ @@ -211,12 +211,12 @@ }, { "ModuleName": "ServerCommandPrivate/tryListenToMQTT", - "State": 1, + "State": 2, "LockedBy": { "UserName": "XA-GCSCN-WILL\\NingWei", "Email": "will.ning@grapecity.com" }, - "LockDateTime": "2026-06-16T13:55:30.9672969+08:00", + "LockDateTime": "2026-06-22T10:38:43.6657537+08:00", "ModuleType": 27, "IconType": 16, "ToRemoveFiles": [ @@ -471,5 +471,16 @@ "LockDateTime": "2026-06-22T10:33:31.3274045+08:00", "ModuleType": 27, "IconType": 16 + }, + { + "ModuleName": "ServerCommandPrivate/ensureMQTTSubscription", + "State": 3, + "LockedBy": { + "UserName": "XA-GCSCN-WILL\\NingWei", + "Email": "will.ning@grapecity.com" + }, + "LockDateTime": "2026-06-22T10:38:43.6657603+08:00", + "ModuleType": 27, + "IconType": 16 } ] \ No newline at end of file -- Gitee From 537819ed93c19ff0109080d85d606ca82e98c81a Mon Sep 17 00:00:00 2001 From: HZG System Date: Mon, 22 Jun 2026 10:38:55 +0800 Subject: [PATCH 05/10] =?UTF-8?q?{"Message":"=E7=AD=BE=E5=87=BA=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=20:=20ensureMQTTConnection","MessageType":1,"Modules"?= =?UTF-8?q?:[],"Version":"v1"}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .collaboration | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.collaboration b/.collaboration index a957667..55d7bf8 100644 --- a/.collaboration +++ b/.collaboration @@ -188,7 +188,7 @@ "UserName": "XA-GCSCN-WILL\\NingWei", "Email": "will.ning@grapecity.com" }, - "LockDateTime": "2026-06-22T10:38:43.6658723+08:00", + "LockDateTime": "2026-06-22T10:38:55.1192762+08:00", "ModuleType": 15, "IconType": 15, "ToRemoveFiles": [ @@ -202,7 +202,7 @@ "UserName": "XA-GCSCN-WILL\\NingWei", "Email": "will.ning@grapecity.com" }, - "LockDateTime": "2026-06-22T10:38:43.6658516+08:00", + "LockDateTime": "2026-06-22T10:38:55.119255+08:00", "ModuleType": 15, "IconType": 15, "ToRemoveFiles": [ @@ -462,13 +462,13 @@ "IconType": 41 }, { - "ModuleName": "ServerCommandPrivate/ensureConnectionReady", + "ModuleName": "ServerCommandPrivate/ensureMQTTConnection", "State": 3, "LockedBy": { "UserName": "XA-GCSCN-WILL\\NingWei", "Email": "will.ning@grapecity.com" }, - "LockDateTime": "2026-06-22T10:33:31.3274045+08:00", + "LockDateTime": "2026-06-22T10:38:55.1191622+08:00", "ModuleType": 27, "IconType": 16 }, -- Gitee From cfbf44ff2751a4ba97b2a61758db98f882fc6a52 Mon Sep 17 00:00:00 2001 From: HZG System Date: Mon, 22 Jun 2026 11:36:18 +0800 Subject: [PATCH 06/10] =?UTF-8?q?{"Message":"=E7=AD=BE=E5=87=BA=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=20:=20[=E6=8F=92=E4=BB=B6]","MessageType":1,"Modules"?= =?UTF-8?q?:[],"Version":"v1"}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .collaboration | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/.collaboration b/.collaboration index 55d7bf8..e63cbc6 100644 --- a/.collaboration +++ b/.collaboration @@ -332,8 +332,26 @@ }, { "ModuleName": "Plugin", + "State": 1, + "LockedBy": { + "UserName": "XA-GCSCN-WILL\\NingWei", + "Email": "will.ning@grapecity.com" + }, + "LockDateTime": "2026-06-22T11:36:18.039619+08:00", "ModuleType": 40, - "IconType": 43 + "IconType": 43, + "ToRemoveFiles": [ + "Plugin\\ai对话助手-12_0_2_0(1).zip", + "Plugin\\AWS S3 OSS连接器-11_0_104_0(2).zip", + "Plugin\\JSON 序列化和反序列化-12_0_2_0(1).zip", + "Plugin\\MQTT客户端-12_0_2_0(1).zip", + "Plugin\\发送HTTP请求命令-12_0_2_0(1).zip", + "Plugin\\对象与集合操作工具-12_0_2_0(1).zip", + "Plugin\\文件管理-12_0_1_0(1).zip", + "Plugin\\文件读写-11_0_102_0(1).zip", + "Plugin\\服务端缓存操作工具库-8_0_3_0(1).zip", + "Plugin\\读写HTTP标头(HEAD)-8_0_102_0(1).zip" + ] }, { "ModuleName": "PublishSetting", -- Gitee From 5ba5c3c95c14fe74d9c4263af9af744de1c8f218 Mon Sep 17 00:00:00 2001 From: "XA-GCSCN-WILL\\NingWei" Date: Mon, 22 Jun 2026 11:41:00 +0800 Subject: [PATCH 07/10] =?UTF-8?q?{"Message":"=E4=BC=98=E5=8C=96MQTT?= =?UTF-8?q?=E8=BF=9E=E6=8E=A5=E7=9A=84=E5=BB=BA=E7=AB=8B=E6=96=B9=E6=B3=95?= =?UTF-8?q?","MessageType":2,"Modules":[{"State":1,"Type":7,"IconType":24,?= =?UTF-8?q?"Name":"Table/chat=5Flog","ExclusiveType":0},{"State":1,"Type":?= =?UTF-8?q?7,"IconType":24,"Name":"Table/sys=5Flog","ExclusiveType":0},{"S?= =?UTF-8?q?tate":1,"Type":15,"IconType":15,"Name":"ServerCommand/sendMessa?= =?UTF-8?q?ge"},{"State":1,"Type":15,"IconType":15,"Name":"ServerCommand/s?= =?UTF-8?q?endFile"},{"State":2,"Type":27,"IconType":16,"Name":"ServerComm?= =?UTF-8?q?andPrivate/tryListenToMQTT"},{"State":1,"Type":8,"IconType":10,?= =?UTF-8?q?"Name":"ApplicationSetting"},{"State":1,"Type":26,"IconType":30?= =?UTF-8?q?,"Name":"Upload"},{"State":1,"Type":40,"IconType":43,"Name":"Pl?= =?UTF-8?q?ugin"},{"State":1,"Type":15,"IconType":15,"Name":"ServerCommand?= =?UTF-8?q?/getAvailableAgents"},{"State":1,"Type":27,"IconType":16,"Name"?= =?UTF-8?q?:"ServerCommandPrivate/getContextBySessionId"},{"State":1,"Type?= =?UTF-8?q?":15,"IconType":15,"Name":"ServerCommand/generateDownloadLink"}?= =?UTF-8?q?,{"State":1,"Type":27,"IconType":16,"Name":"ServerCommandPrivat?= =?UTF-8?q?e/getSession"},{"State":3,"Type":27,"IconType":16,"Name":"Serve?= =?UTF-8?q?rCommandPrivate/ensureMQTTConnection"},{"State":3,"Type":27,"Ic?= =?UTF-8?q?onType":16,"Name":"ServerCommandPrivate/ensureMQTTSubscription"?= =?UTF-8?q?}],"Version":"v1"}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .collaboration | 158 +------- ApplicationSettings.json | 52 +-- ForguncyDB.sqlite3 | Bin 20480 -> 20480 bytes ...350\257\273\345\206\231-11_0_102_0(3).zip" | Bin 205306 -> 222261 bytes .../getAvailableAgents.json" | 4 +- .../getContextBySessionId.json" | 2 +- .../getSession.json" | 2 +- .../\344\274\232\350\257\235/sendFile.json" | 17 +- .../sendMessage.json" | 11 +- .../generateDownloadLink.json" | 18 +- .../ensureMQTTConnection.json" | 139 +++++++ .../ensureMQTTSubscription.json" | 139 +++++++ .../tryListenToMQTT.json" | 342 ------------------ 13 files changed, 347 insertions(+), 537 deletions(-) rename "Plugin/\346\226\207\344\273\266\350\257\273\345\206\231-11_0_102_0(1).zip" => "Plugin/\346\226\207\344\273\266\350\257\273\345\206\231-11_0_102_0(3).zip" (84%) create mode 100644 "ServerCommands/\347\233\221\345\220\254/ensureMQTTConnection.json" create mode 100644 "ServerCommands/\347\233\221\345\220\254/ensureMQTTSubscription.json" delete mode 100644 "ServerCommands/\347\233\221\345\220\254/tryListenToMQTT.json" diff --git a/.collaboration b/.collaboration index e63cbc6..405724c 100644 --- a/.collaboration +++ b/.collaboration @@ -1,34 +1,14 @@ [ { "ModuleName": "Table/chat_log", - "State": 1, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-16T14:40:42.7000106+08:00", "ModuleType": 7, "IconType": 24, - "ToRemoveFiles": [ - "Tables\\chat_log.json", - "ForguncyDB.sqlite3" - ], "ExclusiveType": 0 }, { "ModuleName": "Table/sys_log", - "State": 1, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-16T14:40:42.6999781+08:00", "ModuleType": 7, "IconType": 24, - "ToRemoveFiles": [ - "Tables\\sys_log.json", - "ForguncyDB.sqlite3" - ], "ExclusiveType": 0 }, { @@ -183,45 +163,13 @@ }, { "ModuleName": "ServerCommand/sendMessage", - "State": 1, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-22T10:38:55.1192762+08:00", "ModuleType": 15, - "IconType": 15, - "ToRemoveFiles": [ - "ServerCommands\\会话\\sendMessage.json" - ] + "IconType": 15 }, { "ModuleName": "ServerCommand/sendFile", - "State": 1, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-22T10:38:55.119255+08:00", "ModuleType": 15, - "IconType": 15, - "ToRemoveFiles": [ - "ServerCommands\\会话\\sendFile.json" - ] - }, - { - "ModuleName": "ServerCommandPrivate/tryListenToMQTT", - "State": 2, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-22T10:38:43.6657537+08:00", - "ModuleType": 27, - "IconType": 16, - "ToRemoveFiles": [ - "ServerCommands\\监听\\tryListenToMQTT.json" - ] + "IconType": 15 }, { "ModuleName": "ServerCommandPrivate/onRecieved", @@ -235,18 +183,8 @@ }, { "ModuleName": "ApplicationSetting", - "State": 1, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-16T14:19:49.6610402+08:00", "ModuleType": 8, - "IconType": 10, - "ToRemoveFiles": [ - "ApplicationSettings.json", - "favicon.ico" - ] + "IconType": 10 }, { "ModuleName": "Theme", @@ -310,20 +248,8 @@ }, { "ModuleName": "Upload", - "State": 1, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-16T14:40:42.7007726+08:00", "ModuleType": 26, - "IconType": 30, - "ToRemoveFiles": [ - "Upload\\.arsenal-keep", - "Upload\\agents-out", - "Upload\\aios-agent-outbox", - "Upload\\arsenal\\data\\1779769183737.sqlite3" - ] + "IconType": 30 }, { "ModuleName": "PublishConfiguration", @@ -332,26 +258,8 @@ }, { "ModuleName": "Plugin", - "State": 1, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-22T11:36:18.039619+08:00", "ModuleType": 40, - "IconType": 43, - "ToRemoveFiles": [ - "Plugin\\ai对话助手-12_0_2_0(1).zip", - "Plugin\\AWS S3 OSS连接器-11_0_104_0(2).zip", - "Plugin\\JSON 序列化和反序列化-12_0_2_0(1).zip", - "Plugin\\MQTT客户端-12_0_2_0(1).zip", - "Plugin\\发送HTTP请求命令-12_0_2_0(1).zip", - "Plugin\\对象与集合操作工具-12_0_2_0(1).zip", - "Plugin\\文件管理-12_0_1_0(1).zip", - "Plugin\\文件读写-11_0_102_0(1).zip", - "Plugin\\服务端缓存操作工具库-8_0_3_0(1).zip", - "Plugin\\读写HTTP标头(HEAD)-8_0_102_0(1).zip" - ] + "IconType": 43 }, { "ModuleName": "PublishSetting", @@ -370,17 +278,8 @@ }, { "ModuleName": "ServerCommand/getAvailableAgents", - "State": 1, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-16T14:19:49.6612179+08:00", "ModuleType": 15, - "IconType": 15, - "ToRemoveFiles": [ - "ServerCommands\\AIOS集成\\getAvailableAgents.json" - ] + "IconType": 15 }, { "ModuleName": "ServerCommands/AIOS集成", @@ -389,17 +288,8 @@ }, { "ModuleName": "ServerCommandPrivate/getContextBySessionId", - "State": 1, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-16T14:19:49.6612239+08:00", "ModuleType": 27, - "IconType": 16, - "ToRemoveFiles": [ - "ServerCommands\\AIOS集成\\getContextBySessionId.json" - ] + "IconType": 16 }, { "ModuleName": "ServerCommands/监听", @@ -413,31 +303,13 @@ }, { "ModuleName": "ServerCommand/generateDownloadLink", - "State": 1, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-16T14:19:49.6613015+08:00", "ModuleType": 15, - "IconType": 15, - "ToRemoveFiles": [ - "ServerCommands\\其他\\generateDownloadLink.json" - ] + "IconType": 15 }, { "ModuleName": "ServerCommandPrivate/getSession", - "State": 1, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-16T14:19:49.6612048+08:00", "ModuleType": 27, - "IconType": 16, - "ToRemoveFiles": [ - "ServerCommands\\AIOS集成\\getSession.json" - ] + "IconType": 16 }, { "ModuleName": "PCPage/index", @@ -481,23 +353,11 @@ }, { "ModuleName": "ServerCommandPrivate/ensureMQTTConnection", - "State": 3, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-22T10:38:55.1191622+08:00", "ModuleType": 27, "IconType": 16 }, { "ModuleName": "ServerCommandPrivate/ensureMQTTSubscription", - "State": 3, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-22T10:38:43.6657603+08:00", "ModuleType": 27, "IconType": 16 } diff --git a/ApplicationSettings.json b/ApplicationSettings.json index 3a03ee7..67ffdd1 100644 --- a/ApplicationSettings.json +++ b/ApplicationSettings.json @@ -7,38 +7,48 @@ "ServerPropertySecurityID": "760c9e08-2483-42cb-b234-1dd3b3d8f1f1", "GlobalProperties": [ { - "Name": "AIOS_MQTT_CHANNEL_HOST", - "Value": "10.32.4.202", + "Name": "AIOS_SERVER_IP", + "Value": "localhost", "Remark": "" }, { - "Name": "AIOS_MQTT_CHANNEL_PORT", - "Value": "1884", + "Name": "AIOS_MQTT_CHANNEL_PASSWORD", + "Value": "R2CZBOJcNPnqSU-zIZoAv_bL3cFuBCBH", "Remark": "" }, { - "Name": "AIOS_MQTT_CHANNEL_SCHEMA", - "Value": "mqtt", + "Name": "AIOS_S3_SECRET_ACCESS_KEY", + "Value": "jFLF69i_PNnjAkkwS3oaHlQLZ7h0zn8t", "Remark": "" }, { - "Name": "AIOS_MQTT_CHANNEL_USERNAME", - "Value": "aios", + "Name": "AIOS_MANAGEMENT_CONSOLE_TOKEN", + "Value": "sk--ey_cQBhOAK26u8OQZ4GcekF", "Remark": "" }, { - "Name": "AIOS_MQTT_CHANNEL_PASSWORD", - "Value": "F7pQHAY30rUans_y2WXQqWa6VGYfUcOz", + "Name": "以上必须修改", + "Value": "------------", "Remark": "" }, { - "Name": "AIOS_S3_ENDPOINT", - "Value": "http://10.32.4.202:9001", + "Name": "AIOS_MQTT_CHANNEL_PORT", + "Value": "1883", "Remark": "" }, { - "Name": "AIOS_S3_REGION", - "Value": "local", + "Name": "AIOS_S3_PORT", + "Value": "9000", + "Remark": "" + }, + { + "Name": "AIOS_MANAGEMENT_CONSOLE_PORT", + "Value": "3030", + "Remark": "" + }, + { + "Name": "AIOS_MQTT_CHANNEL_USERNAME", + "Value": "aios", "Remark": "" }, { @@ -47,8 +57,8 @@ "Remark": "" }, { - "Name": "AIOS_S3_SECRET_ACCESS_KEY", - "Value": "zgyeoLPSclZGpY0UJeUfchtXpvjr3XZG", + "Name": "AIOS_S3_REGION", + "Value": "local", "Remark": "" }, { @@ -66,16 +76,6 @@ "Value": "aios-agent-outbox", "Remark": "" }, - { - "Name": "AIOS_MANAGEMENT_CONSOLE_BASE_URL", - "Value": "http://10.32.4.202:3031", - "Remark": "" - }, - { - "Name": "AIOS_MANAGEMENT_CONSOLE_TOKEN", - "Value": "sk-1234567890qwertyuiop", - "Remark": "" - }, { "Name": "MQTT_CONNECTION_NAME", "Value": "aios_conn_", diff --git a/ForguncyDB.sqlite3 b/ForguncyDB.sqlite3 index 6c08af525c8cecc506045c9e282b598bda76937b..2707a515da1800ad2006a42cd5401ab02d333377 100644 GIT binary patch delta 37 kcmZozz}T>Wae|Z(BLfhKfCva+WSFR9#Kg$3F=2r}0Cmp>2LJ#7 delta 37 lcmZozz}T>Wae|Z(!)FEt1`!~JfzK0ljF=ccZ%kO=4*;HW2;Bex diff --git "a/Plugin/\346\226\207\344\273\266\350\257\273\345\206\231-11_0_102_0(1).zip" "b/Plugin/\346\226\207\344\273\266\350\257\273\345\206\231-11_0_102_0(3).zip" similarity index 84% rename from "Plugin/\346\226\207\344\273\266\350\257\273\345\206\231-11_0_102_0(1).zip" rename to "Plugin/\346\226\207\344\273\266\350\257\273\345\206\231-11_0_102_0(3).zip" index 2e4aea6716dce3f0a2120e3cd8742fb0e31598fa..d22356dca9db40f949d1bc4cc2274d749d4a72dc 100644 GIT binary patch delta 34189 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 W1^@s600saC0EPho0GVO~0001N&{5|A delta 17053 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 diff --git "a/ServerCommands/AIOS\351\233\206\346\210\220/getAvailableAgents.json" "b/ServerCommands/AIOS\351\233\206\346\210\220/getAvailableAgents.json" index 9411b10..f43608c 100644 --- "a/ServerCommands/AIOS\351\233\206\346\210\220/getAvailableAgents.json" +++ "b/ServerCommands/AIOS\351\233\206\346\210\220/getAvailableAgents.json" @@ -40,7 +40,7 @@ "$type": "Forguncy.Model.Commands.SetParameterCommand, ServerDesignerCommon", "ParameterName": "userName", "ParameterValue": "%CurrentUser%", - "ID": "99b0675e8aa24542b393f3392b1661bc", + "ID": "b81a3c82c0324121b2dd50376ff352cf", "BreakpointIdentity": "afd1443d-571a-49b6-be3a-5b6983f101d6" }, { @@ -58,7 +58,7 @@ }, "WebUrl": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_MANAGEMENT_CONSOLE_BASE_URL&\"/api/external/agents?userName=\"&userName" + "SerializeProperty": "=\"http://\"&AIOS_SERVER_IP&\":\"&AIOS_MANAGEMENT_CONSOLE_PORT&\"/api/external/agents?userName=\"&userName" }, "Method": "GET", "SuccessCallback": "// 请求成功返回的数据存储在“result”变量中\n// 请使用“result”变量来完成请求成功的回调 \r\n//console.log(result);", diff --git "a/ServerCommands/AIOS\351\233\206\346\210\220/getContextBySessionId.json" "b/ServerCommands/AIOS\351\233\206\346\210\220/getContextBySessionId.json" index d485111..1f46a24 100644 --- "a/ServerCommands/AIOS\351\233\206\346\210\220/getContextBySessionId.json" +++ "b/ServerCommands/AIOS\351\233\206\346\210\220/getContextBySessionId.json" @@ -40,7 +40,7 @@ }, "WebUrl": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_MANAGEMENT_CONSOLE_BASE_URL&\"/api/external/context?sessionId=\"&sessionId" + "SerializeProperty": "=\"http://\"&AIOS_SERVER_IP&\":\"&AIOS_MANAGEMENT_CONSOLE_PORT&\"/api/external/context?sessionId=\"&sessionId" }, "Method": "GET", "SuccessCallback": "// 请求成功返回的数据存储在“result”变量中\n// 请使用“result”变量来完成请求成功的回调 \r\n//console.log(result);", diff --git "a/ServerCommands/AIOS\351\233\206\346\210\220/getSession.json" "b/ServerCommands/AIOS\351\233\206\346\210\220/getSession.json" index 214ab12..feedb1f 100644 --- "a/ServerCommands/AIOS\351\233\206\346\210\220/getSession.json" +++ "b/ServerCommands/AIOS\351\233\206\346\210\220/getSession.json" @@ -53,7 +53,7 @@ }, "WebUrl": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_MANAGEMENT_CONSOLE_BASE_URL&\"/api/external/session?userName=\"&userName&\"&agentId=\"&agentId&\"&cookie=\"&cookie" + "SerializeProperty": "=\"http://\"&AIOS_SERVER_IP&\":\"&AIOS_MANAGEMENT_CONSOLE_PORT&\"/api/external/session?userName=\"&userName&\"&agentId=\"&agentId&\"&cookie=\"&cookie" }, "Method": "GET", "SuccessCallback": "// 请求成功返回的数据存储在“result”变量中\n// 请使用“result”变量来完成请求成功的回调 \r\n//console.log(result);", diff --git "a/ServerCommands/\344\274\232\350\257\235/sendFile.json" "b/ServerCommands/\344\274\232\350\257\235/sendFile.json" index 73c0716..620c102 100644 --- "a/ServerCommands/\344\274\232\350\257\235/sendFile.json" +++ "b/ServerCommands/\344\274\232\350\257\235/sendFile.json" @@ -113,7 +113,14 @@ }, { "$type": "Forguncy.Model.RequestServerCommand, ServerDesignerCommon", - "ServerCommandName": "tryListenToMQTT", + "ServerCommandName": "ensureMQTTConnection", + "RefreshAfterFinish": true, + "CheckDataValidation": true, + "BreakpointIdentity": "6c13e896-b563-4bee-8b01-f5375da45eae" + }, + { + "$type": "Forguncy.Model.RequestServerCommand, ServerDesignerCommon", + "ServerCommandName": "ensureMQTTSubscription", "Parameters": { "$type": "System.Collections.Generic.List`1[[Forguncy.Model.RequestServerCommandParamBase, ServerDesignerCommon]], System.Private.CoreLib", "$values": [ @@ -136,7 +143,7 @@ "ReturnTo": "BucketNameList", "EndpointExpr": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_S3_ENDPOINT" + "SerializeProperty": "=\"http://\"&AIOS_SERVER_IP&\":\"&AIOS_S3_PORT" }, "RegionExpr": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -204,7 +211,7 @@ }, "EndpointExpr": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_S3_ENDPOINT" + "SerializeProperty": "=\"http://\"&AIOS_SERVER_IP&\":\"&AIOS_S3_PORT" }, "RegionExpr": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -222,7 +229,7 @@ } ] }, - "ID": "caa677f3-2bb6-45c3-b765-904e667c11f0" + "ID": "3fc1cbca-24bd-472b-bacd-1844fe45fd93" } ] }, @@ -297,7 +304,7 @@ }, "EndpointExpr": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_S3_ENDPOINT" + "SerializeProperty": "=\"http://\"&AIOS_SERVER_IP&\":\"&AIOS_S3_PORT" }, "RegionExpr": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", diff --git "a/ServerCommands/\344\274\232\350\257\235/sendMessage.json" "b/ServerCommands/\344\274\232\350\257\235/sendMessage.json" index a54635a..a799b98 100644 --- "a/ServerCommands/\344\274\232\350\257\235/sendMessage.json" +++ "b/ServerCommands/\344\274\232\350\257\235/sendMessage.json" @@ -106,7 +106,14 @@ }, { "$type": "Forguncy.Model.RequestServerCommand, ServerDesignerCommon", - "ServerCommandName": "tryListenToMQTT", + "ServerCommandName": "ensureMQTTConnection", + "RefreshAfterFinish": true, + "CheckDataValidation": true, + "BreakpointIdentity": "c338ae15-ad16-4d2d-8018-8153f5429b4e" + }, + { + "$type": "Forguncy.Model.RequestServerCommand, ServerDesignerCommon", + "ServerCommandName": "ensureMQTTSubscription", "Parameters": { "$type": "System.Collections.Generic.List`1[[Forguncy.Model.RequestServerCommandParamBase, ServerDesignerCommon]], System.Private.CoreLib", "$values": [ @@ -158,7 +165,7 @@ } ] }, - "ID": "c9b90afc-fe26-4be1-b47c-6f5591b3f9e9" + "ID": "1ce8f78d-4a65-4504-9756-f06aca264a8e" } ] }, diff --git "a/ServerCommands/\345\205\266\344\273\226/generateDownloadLink.json" "b/ServerCommands/\345\205\266\344\273\226/generateDownloadLink.json" index c7daa03..482c862 100644 --- "a/ServerCommands/\345\205\266\344\273\226/generateDownloadLink.json" +++ "b/ServerCommands/\345\205\266\344\273\226/generateDownloadLink.json" @@ -60,7 +60,7 @@ "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=SUBSTITUTE(SUBSTITUTE(text,CHAR(10),\" \"),CHAR(13),\" \")" }, - "ID": "50cf989a6ea444cda46820211c0975e0", + "ID": "f82b3b5eccc8475fa911875859aa4dae", "BreakpointIdentity": "c235cf52-bc81-4fb5-8861-c97558e3947e" }, { @@ -70,7 +70,7 @@ "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=IF(ISERROR(FIND(\"file_output://\",text)),\"\",TRIM(IF(ISERROR(FIND(\" \",SUBSTITUTE(MID(text,FIND(\"file_output://\",text),LEN(text)),\"`\",\"\"))),SUBSTITUTE(MID(text,FIND(\"file_output://\",text),LEN(text)),\"`\",\"\"),LEFT(SUBSTITUTE(MID(text,FIND(\"file_output://\",text),LEN(text)),\"`\",\"\"),FIND(\" \",SUBSTITUTE(MID(text,FIND(\"file_output://\",text),LEN(text)),\"`\",\"\"))-1))))" }, - "ID": "e5a21838658547bb94d8495831d9f0bf", + "ID": "f97d62546f104f9fabd5834b8e942aa2", "BreakpointIdentity": "7291a6d5-2d14-41c0-a4fb-0024b32b85a5" }, { @@ -115,7 +115,7 @@ "$type": "ForguncyDataAccess.BindingInfo, ForguncyDataAccess", "TableName": "sys_log", "ColumnName": "log_entry", - "GUID": "ac192ea3-f4db-4758-9030-5c18578e217f" + "GUID": "c59a42e7-3f97-4143-b8d8-88fb75d7ccb9" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -133,7 +133,7 @@ "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", "SerializeProperty": "=SUBSTITUTE(uri,\"file_output://\"&AIOS_S3_AGENT_OUTBOX_BUCKET&\"/\",\"\")" }, - "ID": "c9a5632a9b224858aa69d3c77f761d57", + "ID": "36f06927e6304868b0691e6c86c72ef9", "BreakpointIdentity": "333949e5-3faa-4e02-8a8f-22dd107212b6" }, { @@ -171,7 +171,7 @@ }, "EndpointExpr": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_S3_ENDPOINT" + "SerializeProperty": "=\"http://\"&AIOS_SERVER_IP&\":\"&AIOS_S3_PORT" }, "RegionExpr": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -238,7 +238,7 @@ "$type": "ForguncyDataAccess.BindingInfo, ForguncyDataAccess", "TableName": "sys_log", "ColumnName": "log_entry", - "GUID": "7aa65f98-a042-4ce5-aa8b-97c7f6527cab" + "GUID": "6f88cce5-2bf7-4b10-915f-622199c577fa" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -287,7 +287,7 @@ "$type": "ForguncyDataAccess.BindingInfo, ForguncyDataAccess", "TableName": "sys_log", "ColumnName": "log_entry", - "GUID": "d34ec42e-f0de-4063-aff7-0c3bd02de4fc" + "GUID": "8713de2d-80c1-45e3-ac2c-2bfa5dfc97a4" }, "Value": { "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", @@ -319,7 +319,7 @@ } ] }, - "ID": "beb2de8b-fffa-4e1a-a387-6d906986c413" + "ID": "02c89254-00ed-4980-add0-5b0e51b606d4" }, { "$type": "Forguncy.Model.ConditionAndCommandPair, ServerDesignerCommon", @@ -342,7 +342,7 @@ } ] }, - "ID": "3e051769-9c1b-4a72-b336-fc33da9680c2" + "ID": "458b4118-0310-49f4-a882-214c8d1b2f49" } ] }, diff --git "a/ServerCommands/\347\233\221\345\220\254/ensureMQTTConnection.json" "b/ServerCommands/\347\233\221\345\220\254/ensureMQTTConnection.json" new file mode 100644 index 0000000..66f5aba --- /dev/null +++ "b/ServerCommands/\347\233\221\345\220\254/ensureMQTTConnection.json" @@ -0,0 +1,139 @@ +{ + "$type": "Forguncy.SaveLoad.ServerCommandSaveData, ServerDesignerCommon", + "Name": "ensureMQTTConnection", + "Enabled": true, + "Triggers": { + "$type": "System.Collections.Generic.List`1[[Forguncy.SaveLoad.TriggerSaveDataBase, ServerDesignerCommon]], System.Private.CoreLib", + "$values": [ + { + "$type": "Forguncy.SaveLoad.InvokeTriggerSaveData, ServerDesignerCommon" + } + ] + }, + "Commands": { + "$type": "System.Collections.Generic.List`1[[GrapeCity.Forguncy.Commands.Command, Forguncy.Commands]], System.Private.CoreLib", + "$values": [ + { + "$type": "Forguncy.Model.CatchExceptionCommand, ServerDesignerCommon", + "TryCommandPart": { + "$type": "Forguncy.Model.ExceptionCommandBaseNode, ServerDesignerCommon", + "CommandList": { + "$type": "System.Collections.Generic.List`1[[GrapeCity.Forguncy.Commands.Command, Forguncy.Commands]], System.Private.CoreLib", + "$values": [ + { + "$type": "MQTTClient.MqttPublishCommand, MQTTClient", + "ConnectionName": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=MQTT_CONNECTION_NAME" + }, + "Topic": "health_check", + "Payload": "ping", + "ExecuteStatusCode": "code", + "BreakpointIdentity": "3ccd31eb-3bc2-4373-9464-c6f4697cb0b0" + } + ] + } + }, + "CatchCommandPart": { + "$type": "Forguncy.Model.CatchCommandNode, ServerDesignerCommon", + "CommandList": { + "$type": "System.Collections.Generic.List`1[[GrapeCity.Forguncy.Commands.Command, Forguncy.Commands]], System.Private.CoreLib", + "$values": [ + { + "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", + "ConditionAndCommandPairList": { + "$type": "System.Collections.Generic.List`1[[Forguncy.Model.ConditionAndCommandPair, ServerDesignerCommon]], System.Private.CoreLib", + "$values": [ + { + "$type": "Forguncy.Model.ConditionAndCommandPair, ServerDesignerCommon", + "Condition": { + "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", + "param": { + "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", + "ParamObject": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=ExceptionCode" + } + }, + "value": "1006" + }, + "CommandList": { + "$type": "System.Collections.Generic.List`1[[GrapeCity.Forguncy.Commands.Command, Forguncy.Commands]], System.Private.CoreLib", + "$values": [ + { + "$type": "MQTTClient.MqttConnectCommand, MQTTClient", + "ConnectionName": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=MQTT_CONNECTION_NAME" + }, + "BrokerAddress": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=AIOS_SERVER_IP" + }, + "UserName": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=AIOS_MQTT_CHANNEL_USERNAME" + }, + "Password": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=AIOS_MQTT_CHANNEL_PASSWORD" + }, + "EnableRetry": true, + "RetryCount": 600, + "ExecuteStatusCode": "subCode", + "BreakpointIdentity": "3b26753c-dda3-4e4a-8b72-d6bbf3c36790" + }, + { + "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", + "TableName": "sys_log", + "UpdateType": "add", + "UpdateBindingValues": { + "$type": "System.Collections.Generic.List`1[[Forguncy.Model.UpdateBindingValueItem, ServerDesignerCommon]], System.Private.CoreLib", + "$values": [ + { + "$type": "Forguncy.Model.UpdateBindingValueItem, ServerDesignerCommon", + "BindingInfo": { + "$type": "ForguncyDataAccess.BindingInfo, ForguncyDataAccess", + "TableName": "sys_log", + "ColumnName": "log_entry", + "GUID": "1b5c5630-8c13-47ef-9fe7-486c4c82b3d5" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=\"建立连接(\"&AIOS_SERVER_IP&\":\"&AIOS_MQTT_CHANNEL_PORT&\")>> \"&subCode" + } + }, + { + "$type": "Forguncy.Model.UpdateBindingValueItem, ServerDesignerCommon", + "BindingInfo": { + "$type": "ForguncyDataAccess.BindingInfo, ForguncyDataAccess", + "TableName": "sys_log", + "ColumnName": "user_name", + "GUID": "10260618-2529-4ba7-969c-d39afec1256b" + }, + "Value": "%CurrentUser.UserName%" + } + ] + }, + "BreakpointIdentity": "ebda3b7e-f005-42e4-ad0b-a6a90ade11ac" + } + ] + }, + "ID": "aa1133ee-2d9c-4fde-8512-9410474ad157" + } + ] + }, + "BreakpointIdentity": "0226be42-3efb-4c48-9d94-05aae1a82372" + } + ] + } + }, + "BreakpointIdentity": "9ee36fe5-b506-460b-bf90-2534443551db" + } + ] + }, + "ReturnProperties": { + "$type": "System.Collections.Generic.List`1[[Forguncy.SaveLoad.ReturnPropertySaveData, ServerDesignerCommon]], System.Private.CoreLib", + "$values": [] + } +} \ No newline at end of file diff --git "a/ServerCommands/\347\233\221\345\220\254/ensureMQTTSubscription.json" "b/ServerCommands/\347\233\221\345\220\254/ensureMQTTSubscription.json" new file mode 100644 index 0000000..b81ec4b --- /dev/null +++ "b/ServerCommands/\347\233\221\345\220\254/ensureMQTTSubscription.json" @@ -0,0 +1,139 @@ +{ + "$type": "Forguncy.SaveLoad.ServerCommandSaveData, ServerDesignerCommon", + "Name": "ensureMQTTSubscription", + "Enabled": true, + "Triggers": { + "$type": "System.Collections.Generic.List`1[[Forguncy.SaveLoad.TriggerSaveDataBase, ServerDesignerCommon]], System.Private.CoreLib", + "$values": [ + { + "$type": "Forguncy.SaveLoad.InvokeTriggerSaveData, ServerDesignerCommon", + "Parameters": { + "$type": "System.Collections.Generic.List`1[[Forguncy.SaveLoad.PostRequestParameterSaveData, ServerDesignerCommon]], System.Private.CoreLib", + "$values": [ + { + "$type": "Forguncy.SaveLoad.PostRequestParameterSaveData, ServerDesignerCommon", + "Name": "outboundTopic", + "DataValidationInfo": { + "$type": "Forguncy.SaveLoad.DataValidationInfoSaveData, ServerDesignerCommon" + } + } + ] + } + } + ] + }, + "Commands": { + "$type": "System.Collections.Generic.List`1[[GrapeCity.Forguncy.Commands.Command, Forguncy.Commands]], System.Private.CoreLib", + "$values": [ + { + "$type": "Forguncy.Model.CatchExceptionCommand, ServerDesignerCommon", + "TryCommandPart": { + "$type": "Forguncy.Model.ExceptionCommandBaseNode, ServerDesignerCommon", + "CommandList": { + "$type": "System.Collections.Generic.List`1[[GrapeCity.Forguncy.Commands.Command, Forguncy.Commands]], System.Private.CoreLib", + "$values": [ + { + "$type": "MQTTClient.MqttUnsubscribeTopicCommand, MQTTClient", + "ConnectionName": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=MQTT_CONNECTION_NAME" + }, + "TopicName": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=outboundTopic" + }, + "BreakpointIdentity": "88d4b7ba-f7ec-4163-9e7d-89110c76e79b" + } + ] + } + }, + "BreakpointIdentity": "6994e41c-ea08-43a5-ac84-107f96adef94" + }, + { + "$type": "MQTTClient.MqttSubscribeCommand, MQTTClient", + "ConnectionName": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=MQTT_CONNECTION_NAME" + }, + "TopicName": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=outboundTopic" + }, + "QoS": 1, + "ReceiveMessageCallBack": { + "$type": "GrapeCity.Forguncy.Commands.CustomCommandObject, Forguncy.Commands", + "Commands": { + "$type": "System.Collections.Generic.List`1[[GrapeCity.Forguncy.Commands.Command, Forguncy.Commands]], System.Private.CoreLib", + "$values": [ + { + "$type": "Forguncy.Model.RequestServerCommand, ServerDesignerCommon", + "ServerCommandName": "onRecieved", + "Parameters": { + "$type": "System.Collections.Generic.List`1[[Forguncy.Model.RequestServerCommandParamBase, ServerDesignerCommon]], System.Private.CoreLib", + "$values": [ + { + "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", + "ParamName": "messageInJSON", + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=接受消息" + } + } + ] + }, + "RefreshAfterFinish": true, + "CheckDataValidation": true, + "BreakpointIdentity": "26296a3d-2254-4398-930c-008a1d09d588" + } + ] + }, + "ParamProperties": { + "$type": "System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib],[System.String, System.Private.CoreLib]], System.Private.CoreLib", + "receiveMessage": "接受消息", + "receiveTopic": "接受主题" + } + }, + "ExecuteStatusCode": "subCode", + "BreakpointIdentity": "127cd98a-11e7-45eb-b066-f4cfc3e381db" + }, + { + "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", + "TableName": "sys_log", + "UpdateType": "add", + "UpdateBindingValues": { + "$type": "System.Collections.Generic.List`1[[Forguncy.Model.UpdateBindingValueItem, ServerDesignerCommon]], System.Private.CoreLib", + "$values": [ + { + "$type": "Forguncy.Model.UpdateBindingValueItem, ServerDesignerCommon", + "BindingInfo": { + "$type": "ForguncyDataAccess.BindingInfo, ForguncyDataAccess", + "TableName": "sys_log", + "ColumnName": "log_entry", + "GUID": "ec3721fd-55f0-4c24-832b-5497b415084e" + }, + "Value": { + "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", + "SerializeProperty": "=\"重新建立监听(\"&outboundTopic&\") >> \"&subCode" + } + }, + { + "$type": "Forguncy.Model.UpdateBindingValueItem, ServerDesignerCommon", + "BindingInfo": { + "$type": "ForguncyDataAccess.BindingInfo, ForguncyDataAccess", + "TableName": "sys_log", + "ColumnName": "user_name", + "GUID": "59e98127-8132-4939-86a9-d918408f8363" + }, + "Value": "%CurrentUser.UserName%" + } + ] + }, + "BreakpointIdentity": "467b0818-3bfb-4072-a4a3-71bbd8230af3" + } + ] + }, + "ReturnProperties": { + "$type": "System.Collections.Generic.List`1[[Forguncy.SaveLoad.ReturnPropertySaveData, ServerDesignerCommon]], System.Private.CoreLib", + "$values": [] + } +} \ No newline at end of file diff --git "a/ServerCommands/\347\233\221\345\220\254/tryListenToMQTT.json" "b/ServerCommands/\347\233\221\345\220\254/tryListenToMQTT.json" deleted file mode 100644 index f579696..0000000 --- "a/ServerCommands/\347\233\221\345\220\254/tryListenToMQTT.json" +++ /dev/null @@ -1,342 +0,0 @@ -{ - "$type": "Forguncy.SaveLoad.ServerCommandSaveData, ServerDesignerCommon", - "Name": "tryListenToMQTT", - "Enabled": true, - "Triggers": { - "$type": "System.Collections.Generic.List`1[[Forguncy.SaveLoad.TriggerSaveDataBase, ServerDesignerCommon]], System.Private.CoreLib", - "$values": [ - { - "$type": "Forguncy.SaveLoad.InvokeTriggerSaveData, ServerDesignerCommon", - "Parameters": { - "$type": "System.Collections.Generic.List`1[[Forguncy.SaveLoad.PostRequestParameterSaveData, ServerDesignerCommon]], System.Private.CoreLib", - "$values": [ - { - "$type": "Forguncy.SaveLoad.PostRequestParameterSaveData, ServerDesignerCommon", - "Name": "outboundTopic", - "DataValidationInfo": { - "$type": "Forguncy.SaveLoad.DataValidationInfoSaveData, ServerDesignerCommon" - } - } - ] - } - } - ] - }, - "Commands": { - "$type": "System.Collections.Generic.List`1[[GrapeCity.Forguncy.Commands.Command, Forguncy.Commands]], System.Private.CoreLib", - "$values": [ - { - "$type": "CacheOperationCommand.CacheGetCommand, CacheOperationCommand", - "CacheKeyStr": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=MQTT_CONNECTION_NAME" - }, - "ParamName": "globalCache", - "BreakpointIdentity": "327bbcca-d778-4169-9a69-2f1f33386e28" - }, - { - "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", - "ConditionAndCommandPairList": { - "$type": "System.Collections.Generic.List`1[[Forguncy.Model.ConditionAndCommandPair, ServerDesignerCommon]], System.Private.CoreLib", - "$values": [ - { - "$type": "Forguncy.Model.ConditionAndCommandPair, ServerDesignerCommon", - "Condition": { - "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", - "param": { - "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", - "ParamObject": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=globalCache" - } - }, - "value": "%Null%" - }, - "CommandList": { - "$type": "System.Collections.Generic.List`1[[GrapeCity.Forguncy.Commands.Command, Forguncy.Commands]], System.Private.CoreLib", - "$values": [ - { - "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", - "ConditionAndCommandPairList": { - "$type": "System.Collections.Generic.List`1[[Forguncy.Model.ConditionAndCommandPair, ServerDesignerCommon]], System.Private.CoreLib", - "$values": [ - { - "$type": "Forguncy.Model.ConditionAndCommandPair, ServerDesignerCommon", - "Condition": { - "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", - "param": { - "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", - "ParamObject": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_MQTT_CHANNEL_SCHEMA" - } - }, - "value": "mqtt" - }, - "CommandList": { - "$type": "System.Collections.Generic.List`1[[GrapeCity.Forguncy.Commands.Command, Forguncy.Commands]], System.Private.CoreLib", - "$values": [ - { - "$type": "MQTTClient.MqttConnectCommand, MQTTClient", - "ConnectionName": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=MQTT_CONNECTION_NAME" - }, - "BrokerAddress": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_MQTT_CHANNEL_HOST" - }, - "Port": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_MQTT_CHANNEL_PORT" - }, - "UserName": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_MQTT_CHANNEL_USERNAME" - }, - "Password": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_MQTT_CHANNEL_PASSWORD" - }, - "ExecuteStatusCode": "connCode", - "BreakpointIdentity": "7f066028-f14e-4e55-9025-ff94386e35b8" - } - ] - }, - "ID": "f20d87c5-090f-45dd-93cf-23a3e204ea9f" - }, - { - "$type": "Forguncy.Model.ConditionAndCommandPair, ServerDesignerCommon", - "CommandList": { - "$type": "System.Collections.Generic.List`1[[GrapeCity.Forguncy.Commands.Command, Forguncy.Commands]], System.Private.CoreLib", - "$values": [ - { - "$type": "MQTTClient.MqttConnectCommand, MQTTClient", - "ConnectionName": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=MQTT_CONNECTION_NAME" - }, - "BrokerAddress": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_MQTT_CHANNEL_HOST" - }, - "Port": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_MQTT_CHANNEL_PORT" - }, - "UserName": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_MQTT_CHANNEL_USERNAME" - }, - "Password": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=AIOS_MQTT_CHANNEL_PASSWORD" - }, - "EnableSSL": true, - "ExecuteStatusCode": "connCode", - "BreakpointIdentity": "fd6a48b1-5551-42a2-a075-055857ccb4d9" - } - ] - }, - "ID": "f3944a18-aa40-4a1b-a88a-0330667fd386" - } - ] - }, - "BreakpointIdentity": "0b91ded3-44bf-47df-9a7d-f986fc58d75a" - }, - { - "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", - "TableName": "sys_log", - "UpdateType": "add", - "UpdateBindingValues": { - "$type": "System.Collections.Generic.List`1[[Forguncy.Model.UpdateBindingValueItem, ServerDesignerCommon]], System.Private.CoreLib", - "$values": [ - { - "$type": "Forguncy.Model.UpdateBindingValueItem, ServerDesignerCommon", - "BindingInfo": { - "$type": "ForguncyDataAccess.BindingInfo, ForguncyDataAccess", - "TableName": "sys_log", - "ColumnName": "log_entry", - "GUID": "dea39358-228e-4c74-b982-068db5826a9c" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=\"建立MQTT链接 >> \"&connCode" - } - }, - { - "$type": "Forguncy.Model.UpdateBindingValueItem, ServerDesignerCommon", - "BindingInfo": { - "$type": "ForguncyDataAccess.BindingInfo, ForguncyDataAccess", - "TableName": "sys_log", - "ColumnName": "user_name", - "GUID": "92851e8b-d83c-4aa9-9a21-2acedb03e5d0" - }, - "Value": "%CurrentUser.UserName%" - } - ] - }, - "BreakpointIdentity": "e6595f4e-26e4-456b-9222-e66e77024a7f" - }, - { - "$type": "CacheOperationCommand.CacheAddCommand, CacheOperationCommand", - "CacheKeyStr": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=MQTT_CONNECTION_NAME" - }, - "CacheValue": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=NOW()" - }, - "CacheSeconds": "0", - "ParamName": "cacheCode", - "BreakpointIdentity": "8fb2622e-ea1e-4108-ba3f-d3fc1e96795f" - } - ] - }, - "ID": "406dc3d4-e0c2-4e94-a899-539d003dfb81" - } - ] - }, - "BreakpointIdentity": "77701ae4-a247-4f1e-8f46-5b38dc88240e" - }, - { - "$type": "CacheOperationCommand.CacheGetCommand, CacheOperationCommand", - "CacheKeyStr": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=MQTT_CONNECTION_NAME&outboundTopic" - }, - "ParamName": "outboundCache", - "BreakpointIdentity": "a4ca5bb4-2a5d-434d-8fa6-29893875bdf9" - }, - { - "$type": "Forguncy.Model.ConditionCommand, ServerDesignerCommon", - "ConditionAndCommandPairList": { - "$type": "System.Collections.Generic.List`1[[Forguncy.Model.ConditionAndCommandPair, ServerDesignerCommon]], System.Private.CoreLib", - "$values": [ - { - "$type": "Forguncy.Model.ConditionAndCommandPair, ServerDesignerCommon", - "Condition": { - "$type": "Forguncy.Model.IfCondition, ServerDesignerCommon", - "param": { - "$type": "Forguncy.Model.IfConditionServerSiteParam, ServerDesignerCommon", - "ParamObject": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=outboundCache" - } - }, - "value": "%Null%" - }, - "CommandList": { - "$type": "System.Collections.Generic.List`1[[GrapeCity.Forguncy.Commands.Command, Forguncy.Commands]], System.Private.CoreLib", - "$values": [ - { - "$type": "MQTTClient.MqttSubscribeCommand, MQTTClient", - "ConnectionName": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=MQTT_CONNECTION_NAME" - }, - "TopicName": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=outboundTopic" - }, - "QoS": 1, - "ReceiveMessageCallBack": { - "$type": "GrapeCity.Forguncy.Commands.CustomCommandObject, Forguncy.Commands", - "Commands": { - "$type": "System.Collections.Generic.List`1[[GrapeCity.Forguncy.Commands.Command, Forguncy.Commands]], System.Private.CoreLib", - "$values": [ - { - "$type": "Forguncy.Model.RequestServerCommand, ServerDesignerCommon", - "ServerCommandName": "onRecieved", - "Parameters": { - "$type": "System.Collections.Generic.List`1[[Forguncy.Model.RequestServerCommandParamBase, ServerDesignerCommon]], System.Private.CoreLib", - "$values": [ - { - "$type": "Forguncy.Model.RequestServerCommandObjectParam, ServerDesignerCommon", - "ParamName": "messageInJSON", - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=接受消息" - } - } - ] - }, - "RefreshAfterFinish": true, - "CheckDataValidation": true, - "BreakpointIdentity": "ee53f962-10bb-46a7-a54e-a42cbba965e4" - } - ] - }, - "ParamProperties": { - "$type": "System.Collections.Generic.Dictionary`2[[System.String, System.Private.CoreLib],[System.String, System.Private.CoreLib]], System.Private.CoreLib", - "receiveMessage": "接受消息", - "receiveTopic": "接受主题" - } - }, - "ExecuteStatusCode": "subCode", - "BreakpointIdentity": "15415511-fdee-4e53-8b21-ceef9bbebb20" - }, - { - "$type": "Forguncy.Model.UpdateDataTableCommand, ServerDesignerCommon", - "TableName": "sys_log", - "UpdateType": "add", - "UpdateBindingValues": { - "$type": "System.Collections.Generic.List`1[[Forguncy.Model.UpdateBindingValueItem, ServerDesignerCommon]], System.Private.CoreLib", - "$values": [ - { - "$type": "Forguncy.Model.UpdateBindingValueItem, ServerDesignerCommon", - "BindingInfo": { - "$type": "ForguncyDataAccess.BindingInfo, ForguncyDataAccess", - "TableName": "sys_log", - "ColumnName": "log_entry", - "GUID": "5f35386d-ad20-452b-984c-87fdcc9e0831" - }, - "Value": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=\"建立监听(\"&outboundTopic&\") >> \"&subCode" - } - }, - { - "$type": "Forguncy.Model.UpdateBindingValueItem, ServerDesignerCommon", - "BindingInfo": { - "$type": "ForguncyDataAccess.BindingInfo, ForguncyDataAccess", - "TableName": "sys_log", - "ColumnName": "user_name", - "GUID": "f90cd411-d910-4436-810d-873e549410f9" - }, - "Value": "%CurrentUser.UserName%" - } - ] - }, - "BreakpointIdentity": "b33a49a0-aca0-4f9a-a37d-29aa5051a0c7" - }, - { - "$type": "CacheOperationCommand.CacheAddCommand, CacheOperationCommand", - "CacheKeyStr": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=MQTT_CONNECTION_NAME&outboundTopic" - }, - "CacheValue": { - "$type": "Forguncy.Model.FormulaReferObject, ServerDesignerCommon", - "SerializeProperty": "=NOW()" - }, - "CacheSeconds": "0", - "ParamName": "cacheCode", - "BreakpointIdentity": "ea9bb06f-0f20-464e-b0b8-ecd281d42eb9" - } - ] - }, - "ID": "e6c9727d-d15a-4222-bcff-ed9f40012adc" - } - ] - }, - "BreakpointIdentity": "1e87c94d-b233-4918-a377-f9b98d7fe9c0" - } - ] - }, - "ReturnProperties": { - "$type": "System.Collections.Generic.List`1[[Forguncy.SaveLoad.ReturnPropertySaveData, ServerDesignerCommon]], System.Private.CoreLib", - "$values": [] - } -} \ No newline at end of file -- Gitee From c7cefbff523120c305a0874388c91436592e2965 Mon Sep 17 00:00:00 2001 From: HZG System Date: Mon, 22 Jun 2026 11:41:24 +0800 Subject: [PATCH 08/10] =?UTF-8?q?{"Message":"=E7=AD=BE=E5=87=BA=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=20:=20resetMQTTConnectionCache","MessageType":1,"Modu?= =?UTF-8?q?les":[],"Version":"v1"}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .collaboration | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.collaboration b/.collaboration index 405724c..541e4a3 100644 --- a/.collaboration +++ b/.collaboration @@ -273,8 +273,17 @@ }, { "ModuleName": "TaskScheduler/resetMQTTConnectionCache", + "State": 2, + "LockedBy": { + "UserName": "XA-GCSCN-WILL\\NingWei", + "Email": "will.ning@grapecity.com" + }, + "LockDateTime": "2026-06-22T11:41:24.0094446+08:00", "ModuleType": 16, - "IconType": 19 + "IconType": 19, + "ToRemoveFiles": [ + "SchedulerTasks\\resetMQTTConnectionCache.json" + ] }, { "ModuleName": "ServerCommand/getAvailableAgents", -- Gitee From ac19f6d0cb42355491b43e006db26b4d6b43dfb1 Mon Sep 17 00:00:00 2001 From: HZG System Date: Mon, 22 Jun 2026 11:41:44 +0800 Subject: [PATCH 09/10] =?UTF-8?q?{"Message":"=E7=AD=BE=E5=87=BA=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=20:=20[=E6=8F=92=E4=BB=B6]","MessageType":1,"Modules"?= =?UTF-8?q?:[],"Version":"v1"}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .collaboration | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/.collaboration b/.collaboration index 541e4a3..4621818 100644 --- a/.collaboration +++ b/.collaboration @@ -258,8 +258,26 @@ }, { "ModuleName": "Plugin", + "State": 1, + "LockedBy": { + "UserName": "XA-GCSCN-WILL\\NingWei", + "Email": "will.ning@grapecity.com" + }, + "LockDateTime": "2026-06-22T11:41:44.6591117+08:00", "ModuleType": 40, - "IconType": 43 + "IconType": 43, + "ToRemoveFiles": [ + "Plugin\\ai对话助手-12_0_2_0(1).zip", + "Plugin\\AWS S3 OSS连接器-11_0_104_0(2).zip", + "Plugin\\JSON 序列化和反序列化-12_0_2_0(1).zip", + "Plugin\\MQTT客户端-12_0_2_0(1).zip", + "Plugin\\发送HTTP请求命令-12_0_2_0(1).zip", + "Plugin\\对象与集合操作工具-12_0_2_0(1).zip", + "Plugin\\文件管理-12_0_1_0(1).zip", + "Plugin\\文件读写-11_0_102_0(3).zip", + "Plugin\\服务端缓存操作工具库-8_0_3_0(1).zip", + "Plugin\\读写HTTP标头(HEAD)-8_0_102_0(1).zip" + ] }, { "ModuleName": "PublishSetting", -- Gitee From b2b98addc9cc3219abc1ba79c24486bc829c1f1e Mon Sep 17 00:00:00 2001 From: "XA-GCSCN-WILL\\NingWei" Date: Mon, 22 Jun 2026 11:41:54 +0800 Subject: [PATCH 10/10] =?UTF-8?q?{"Message":"=E6=B8=85=E7=90=86=E4=B8=8D?= =?UTF-8?q?=E5=BF=85=E8=A6=81=E7=9A=84=E9=80=BB=E8=BE=91","MessageType":2,?= =?UTF-8?q?"Modules":[{"State":1,"Type":40,"IconType":43,"Name":"Plugin"},?= =?UTF-8?q?{"State":2,"Type":16,"IconType":19,"Name":"TaskScheduler/resetM?= =?UTF-8?q?QTTConnectionCache"}],"Version":"v1"}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .collaboration | 34 +----------------- ...45\345\205\267\345\272\223-8_0_3_0(1).zip" | Bin 30349 -> 0 bytes SchedulerTasks/resetMQTTConnectionCache.json | 21 ----------- 3 files changed, 1 insertion(+), 54 deletions(-) delete mode 100644 "Plugin/\346\234\215\345\212\241\347\253\257\347\274\223\345\255\230\346\223\215\344\275\234\345\267\245\345\205\267\345\272\223-8_0_3_0(1).zip" delete mode 100644 SchedulerTasks/resetMQTTConnectionCache.json diff --git a/.collaboration b/.collaboration index 4621818..06ab323 100644 --- a/.collaboration +++ b/.collaboration @@ -258,26 +258,8 @@ }, { "ModuleName": "Plugin", - "State": 1, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-22T11:41:44.6591117+08:00", "ModuleType": 40, - "IconType": 43, - "ToRemoveFiles": [ - "Plugin\\ai对话助手-12_0_2_0(1).zip", - "Plugin\\AWS S3 OSS连接器-11_0_104_0(2).zip", - "Plugin\\JSON 序列化和反序列化-12_0_2_0(1).zip", - "Plugin\\MQTT客户端-12_0_2_0(1).zip", - "Plugin\\发送HTTP请求命令-12_0_2_0(1).zip", - "Plugin\\对象与集合操作工具-12_0_2_0(1).zip", - "Plugin\\文件管理-12_0_1_0(1).zip", - "Plugin\\文件读写-11_0_102_0(3).zip", - "Plugin\\服务端缓存操作工具库-8_0_3_0(1).zip", - "Plugin\\读写HTTP标头(HEAD)-8_0_102_0(1).zip" - ] + "IconType": 43 }, { "ModuleName": "PublishSetting", @@ -289,20 +271,6 @@ "ModuleType": 44, "IconType": 45 }, - { - "ModuleName": "TaskScheduler/resetMQTTConnectionCache", - "State": 2, - "LockedBy": { - "UserName": "XA-GCSCN-WILL\\NingWei", - "Email": "will.ning@grapecity.com" - }, - "LockDateTime": "2026-06-22T11:41:24.0094446+08:00", - "ModuleType": 16, - "IconType": 19, - "ToRemoveFiles": [ - "SchedulerTasks\\resetMQTTConnectionCache.json" - ] - }, { "ModuleName": "ServerCommand/getAvailableAgents", "ModuleType": 15, diff --git "a/Plugin/\346\234\215\345\212\241\347\253\257\347\274\223\345\255\230\346\223\215\344\275\234\345\267\245\345\205\267\345\272\223-8_0_3_0(1).zip" "b/Plugin/\346\234\215\345\212\241\347\253\257\347\274\223\345\255\230\346\223\215\344\275\234\345\267\245\345\205\267\345\272\223-8_0_3_0(1).zip" deleted file mode 100644 index ced746aec17c599c1d9b1b5abe6481712d0534fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30349 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