From 30dbf134dd254268d8747ef4935e49ce737b51b8 Mon Sep 17 00:00:00 2001 From: kradchen Date: Fri, 7 Mar 2025 09:31:57 +0800 Subject: [PATCH] feat: add recon message receive and popup function --- src/device/DeviceManager.cpp | 8 ++++++++ src/device/DeviceManager.h | 2 ++ src/recon/ProtocolStructs.h | 7 +++++++ src/recon/ReconManager.cpp | 30 +++++++++++++++++++++++++----- src/recon/ReconManager.h | 1 + 5 files changed, 43 insertions(+), 5 deletions(-) diff --git a/src/device/DeviceManager.cpp b/src/device/DeviceManager.cpp index 823f3f3..84209b7 100644 --- a/src/device/DeviceManager.cpp +++ b/src/device/DeviceManager.cpp @@ -210,6 +210,8 @@ void DeviceManager::initDevice() } }); connect(ReconManager::getInstance(), &ReconManager::reconStateResponsed, UsctStateManager::getInstance(), &UsctStateManager::updateReconState); + connect(ReconManager::getInstance(), &ReconManager::reconMessagereceived, this,&DeviceManager::processReconMessage); + connect(this, &DeviceManager::checkReconConnection, ReconManager::getInstance(), &ReconManager::checkReconConnection); connect(reconConnectionTimer, &QTimer::timeout, this, &DeviceManager::prepareCheckReconConnection); connect(this, &DeviceManager::createEmptyScanToRecon, ReconManager::getInstance(), &ReconManager::createEmptyScan); @@ -1427,6 +1429,12 @@ void DeviceManager::prepareCheckReconConnection() emit checkReconConnection(); } +void DeviceManager::processReconMessage(const QString &aMessage) +{ + QString msg=aMessage; + EventCenter::Default()->triggerEvent(WarningMessageRaise, nullptr, (QObject*)&aMessage); +} + void DeviceManager::processEmergencyButtonReset(const QString& aResponse) { QJsonObject jsonObj = toJsonObject(aResponse); diff --git a/src/device/DeviceManager.h b/src/device/DeviceManager.h index 2372c02..7218845 100644 --- a/src/device/DeviceManager.h +++ b/src/device/DeviceManager.h @@ -145,6 +145,8 @@ private slots: void startCreateReconRecord(); void updateReconConnectionState(bool aIsConnected); void prepareCheckReconConnection(); + void processReconMessage(const QString& aMessage); + //GUI void scanTimeout(); diff --git a/src/recon/ProtocolStructs.h b/src/recon/ProtocolStructs.h index 401f123..2a33418 100644 --- a/src/recon/ProtocolStructs.h +++ b/src/recon/ProtocolStructs.h @@ -35,4 +35,11 @@ struct MPPSSetting }; +struct ServerSideMessage +{ + int ErrorCode = 0; + std::string MessageContent; + std::string MessageUUID; +}; + #endif // __SCAN_H__ \ No newline at end of file diff --git a/src/recon/ReconManager.cpp b/src/recon/ReconManager.cpp index f1ef1af..78f7564 100644 --- a/src/recon/ReconManager.cpp +++ b/src/recon/ReconManager.cpp @@ -3,6 +3,11 @@ #include "json/jsonobject.h" #include "log/LogManager.h" +#include "event/EventCenter.h" +#include +#include +#include +#include #include #include "QDebug" #include "json/cJSON.h" @@ -132,11 +137,26 @@ void ReconManager::checkReconConnection() int state = 0; if (mIsConnected) { - cJSON* json = cJSON_Parse(response.message().data()); - cJSON* stateProperty = cJSON_GetObjectItem(json, "State"); - state = stateProperty->valueint; - cJSON_Delete(json); - qDebug()<<"Recon State:"<