getfrontpage.cpp 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. #include "getfrontpage.h"
  2. #include <QDebug>
  3. getFrontPage::getFrontPage(QObject *parent, QString loginname, QString password, QString companyId, QString url) : QObject(parent)
  4. {
  5. setParam(loginname,password,companyId,url);
  6. manager = new QNetworkAccessManager(this);
  7. connect(manager,&QNetworkAccessManager::finished,this,&getFrontPage::getData);
  8. step = 0;
  9. }
  10. void getFrontPage::setParam(QString loginname, QString password, QString companyId, QString url)
  11. {
  12. LoginName = loginname;
  13. Password = password;
  14. CommpanyId = companyId;
  15. AppUrl = url;
  16. CompanyIdList.clear();
  17. if(CommpanyId.indexOf(",")>0)
  18. CompanyIdList = CommpanyId.split(",");
  19. else
  20. CompanyIdList.append(CommpanyId);
  21. step = 0;
  22. idx = 0;
  23. }
  24. void getFrontPage::sendRequest()
  25. {
  26. QByteArray data;
  27. // qDebug()<<"step:"<<step<<"idx:"<<idx;
  28. switch (step) {
  29. case 0:
  30. req = new QNetworkRequest(AppUrl+QString("/YtIoT/cgi-bin/WebAction3.cgi"));
  31. req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  32. data=QString("{\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"V_COMMAND\":\"FRONTPAGE\",\"COMMSTATUS\":\"NO\"}")
  33. .arg(LoginName).arg(Password).toUtf8();
  34. req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
  35. reply = manager->post(*req,data);
  36. break;
  37. case 1:
  38. req = new QNetworkRequest(AppUrl+QString("/YtIoT/iot/frontpage/getCurrentObjectListByCompanyId"));
  39. req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  40. data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"COMPANY_CODE\":\"%3\",\"COMMSTATUS\":\"NO\"}")
  41. .arg(LoginName).arg(Password).arg(CompanyIdList.at(idx)).toUtf8();
  42. req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
  43. reply = manager->post(*req,data);
  44. break;
  45. case 2:
  46. req = new QNetworkRequest(AppUrl+QString("/YtIoT/iot/data/view/getSyncStatusVListByCompany"));
  47. req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  48. data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"1\"}")
  49. .arg(LoginName).arg(Password).arg(CompanyIdList.at(idx)).toUtf8();
  50. req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
  51. reply = manager->post(*req,data);
  52. break;
  53. case 3:
  54. req = new QNetworkRequest(AppUrl+QString("/YtIoT/iot/data/view/getSyncStatusVListByCompany"));
  55. req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  56. data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"2\"}")
  57. .arg(LoginName).arg(Password).arg(CompanyIdList.at(idx)).toUtf8();
  58. req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
  59. reply = manager->post(*req,data);
  60. break;
  61. case 4:
  62. req = new QNetworkRequest(AppUrl+QString("/YtIoT/iot/data/view/getSyncStatusVListByCompany"));
  63. req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  64. data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"3\"}")
  65. .arg(LoginName).arg(Password).arg(CompanyIdList.at(idx)).toUtf8();
  66. req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
  67. reply = manager->post(*req,data);
  68. break;
  69. case 5:
  70. req = new QNetworkRequest(AppUrl+QString("/YtIoT/iot/data/view/getSyncStatusVListByCompany"));
  71. req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  72. data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"6\"}")
  73. .arg(LoginName).arg(Password).arg(CompanyIdList.at(idx)).toUtf8();
  74. req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
  75. reply = manager->post(*req,data);
  76. break;
  77. case 6:
  78. req = new QNetworkRequest(AppUrl+QString("/YtIoT/iot/data/view/getSyncStatusVListByCompany"));
  79. req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  80. data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"7\"}")
  81. .arg(LoginName).arg(Password).arg(CompanyIdList.at(idx)).toUtf8();
  82. req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
  83. reply = manager->post(*req,data);
  84. break;
  85. case 7:
  86. req = new QNetworkRequest(AppUrl+QString("/YtIoT/iot/data/view/getSyncStatusVListByCompany"));
  87. req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
  88. data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"16\"}")
  89. .arg(LoginName).arg(Password).arg(CompanyIdList.at(idx)).toUtf8();
  90. req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8());
  91. reply = manager->post(*req,data);
  92. break;
  93. }
  94. }
  95. void getFrontPage::getData(QNetworkReply *)
  96. {
  97. reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
  98. reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
  99. if(reply->error()==QNetworkReply::NoError){
  100. QByteArray data = reply->readAll();
  101. emit getFrontpage(QString(data));
  102. if(step==0){
  103. step++;
  104. idx = 0;
  105. sendRequest();
  106. }else{
  107. if(idx==CompanyIdList.length()){
  108. idx = 0;
  109. step++;
  110. }
  111. if(step<8){
  112. sendRequest();
  113. idx++;
  114. }
  115. else{
  116. idx = 0;
  117. step = 0;
  118. }
  119. }
  120. }
  121. }