RunHttpGet_selectIsMaterialsCabinetByCode.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #include "RunHttpGet_selectIsMaterialsCabinetByCode.h"
  2. #include "../user/config.h"
  3. extern config *pconfig;
  4. RunHttpGet_selectIsMaterialsCabinetByCode::RunHttpGet_selectIsMaterialsCabinetByCode(InteractiveTask *task, QMutex *mutex)
  5. : RunAbstract(task, mutex)
  6. {
  7. }
  8. void RunHttpGet_selectIsMaterialsCabinetByCode::run()
  9. {
  10. QByteArray outData = InteractiveHttp::http_get_selectIsMaterialsCabinetByCode();
  11. qDebug() << outData;
  12. // 解析 JSON 数据
  13. QJsonParseError parseError;
  14. QJsonDocument jsonDoc = QJsonDocument::fromJson(outData, &parseError);
  15. if (parseError.error != QJsonParseError::NoError)
  16. {
  17. qWarning() << "JSON 解析错误:" << parseError.errorString();
  18. return;
  19. }
  20. if (!jsonDoc.isObject())
  21. {
  22. qWarning() << "JSON 数据不是对象";
  23. return;
  24. }
  25. QJsonObject jsonObjRoot = jsonDoc.object();
  26. // 检查 code 字段
  27. if (jsonObjRoot["code"].toInt() == 200)
  28. {
  29. QJsonObject jsonObjData = jsonObjRoot["data"].toObject();
  30. QString cabinetId = jsonObjData.value("cabinetId").toString();
  31. pconfig->devId = cabinetId;
  32. }
  33. }