#include "instance/dataAccessor.h" #include #include #include DataAccessor::DataAccessor(QObject* parent) : QObject(parent) { } DataAccessor::~DataAccessor() { } void DataAccessor::onReceiveHttpData(const QString& sType,const QVariant& data) { if(sType == "subscriptions"){ QJsonObject dataObj = data.toJsonObject(); QString sClientId = dataObj.value("client_id").toString(); QMap lstRequest; QJsonArray measureArr = dataObj.value("measurements").toArray(); for(const QJsonValue& value : measureArr){ QJsonObject obj = value.toObject(); QString sId = obj["id"].toString(); QString sCode = obj["code"].toString(); if(sId == "1001"){ if(!lstRequest.contains(sId)){ lstRequest.insert(sId,sCode); } } } /*QString input = dataObj.value("input").toString(); int offSet = dataObj.value("offset").toInt(); QJsonArray recommendedList = dataObj.value("recommended_list").toArray(); for(const QJsonValue& value : recommendedList){ QString content = value.toString(); }*/ } } void DataAccessor::onReceiveWebsocketData(const QVariant& data) { QJsonObject dataObj = data.toJsonObject(); if(dataObj.contains("targets")){ QJsonArray arrTarget = dataObj.value("targets").toArray(); for (const QJsonValue& value : arrTarget) { QJsonObject targetObj = value.toObject(); QString targetId = targetObj["id"].toString(); QJsonArray arrData = targetObj["datas"].toArray(); for (const QJsonValue& data : arrData){ QJsonObject dataObj = data.toObject(); QString sTime = dataObj["time"].toString(); bool ok = false; quint64 value = sTime.toULongLong(&ok); if (ok) { // 使用 value } double dVal = dataObj["value"].toDouble(); } } } QMutexLocker locker(&m_mutex); }