ccommon.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #include "ccommon.h"
  2. #include <QDateTime>
  3. #include <QDir>
  4. #include <QJsonDocument>
  5. #include <QDebug>
  6. #ifdef WIN32
  7. #pragma execution_character_set("utf-8")
  8. #endif
  9. MyCommon *MyCommon::self = nullptr;
  10. QTime MyCommon::mTime;
  11. QStringList RET_MSG = QStringList() << "成功" << "数据库查询打开失败" << "SQL执行失败" << "参数错误"<< "方法不存在" << "处理类型不存在";
  12. MyCommon::MyCommon(QObject *parent) : QObject(parent)
  13. {
  14. qRegisterMetaType<CmdData>("CmdData");
  15. qRegisterMetaType<RstData>("RstData");
  16. }
  17. MyCommon::~MyCommon()
  18. {
  19. if (self != nullptr)
  20. {
  21. delete self;
  22. }
  23. }
  24. MyCommon *MyCommon::instance()
  25. {
  26. if(!self)
  27. {
  28. self = new MyCommon();
  29. }
  30. return self;
  31. }
  32. QString MyCommon::GetJsonData(const RstData &rstData)
  33. {
  34. mTime.start();
  35. QJsonObject dataObj;
  36. QJsonObject jsObjChild;
  37. QJsonArray dataArray;
  38. dataObj.insert("code", rstData.retCode);
  39. dataObj.insert("msg", rstData.msg);
  40. dataObj.insert("func", rstData.func);
  41. int row = rstData.result.size();
  42. for (int i = 0; i<row; ++i)
  43. {
  44. dataArray.append(QJsonArray::fromStringList(rstData.result[i].toList()));
  45. }
  46. dataObj.insert("data", dataArray);
  47. qDebug() << "-----------elapsed: " << mTime.elapsed();
  48. qDebug() << rstData.result << QJson2QString(dataObj);
  49. return QJson2QString(dataObj);
  50. }
  51. QString MyCommon::QJson2QString(const QJsonObject &dataObj)
  52. {
  53. QJsonDocument document(dataObj);
  54. QByteArray byteArray =document.toJson(QJsonDocument::Compact);
  55. QString strJson(byteArray);
  56. return strJson;
  57. }
  58. QString MyCommon::QJson2QString(const QJsonArray &dataObj)
  59. {
  60. QJsonDocument document(dataObj);
  61. QByteArray byteArray =document.toJson(QJsonDocument::Compact);
  62. QString strJson(byteArray);
  63. return strJson;
  64. }