#include "getfrontpage.h" #include getFrontPage::getFrontPage(QObject *parent, QString loginname, QString password, QString companyId, QString url) : QObject(parent) { setParam(loginname,password,companyId,url); manager = new QNetworkAccessManager(this); connect(manager,&QNetworkAccessManager::finished,this,&getFrontPage::getData); step = 0; } void getFrontPage::setParam(QString loginname, QString password, QString companyId, QString url) { LoginName = loginname; Password = password; CommpanyId = companyId; AppUrl = url; CompanyIdList.clear(); if(CommpanyId.indexOf(",")>0) CompanyIdList = CommpanyId.split(","); else CompanyIdList.append(CommpanyId); step = 0; idx = 0; } void getFrontPage::sendRequest() { QByteArray data; // qDebug()<<"step:"<setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); data=QString("{\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"V_COMMAND\":\"FRONTPAGE\",\"COMMSTATUS\":\"NO\"}") .arg(LoginName).arg(Password).toUtf8(); req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8()); reply = manager->post(*req,data); break; case 1: req = new QNetworkRequest(AppUrl+QString("/YtIoT/iot/frontpage/getCurrentObjectListByCompanyId")); req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"COMPANY_CODE\":\"%3\",\"COMMSTATUS\":\"NO\"}") .arg(LoginName).arg(Password).arg(CompanyIdList.at(idx)).toUtf8(); req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8()); reply = manager->post(*req,data); break; case 2: req = new QNetworkRequest(AppUrl+QString("/YtIoT/iot/data/view/getSyncStatusVListByCompany")); req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"1\"}") .arg(LoginName).arg(Password).arg(CompanyIdList.at(idx)).toUtf8(); req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8()); reply = manager->post(*req,data); break; case 3: req = new QNetworkRequest(AppUrl+QString("/YtIoT/iot/data/view/getSyncStatusVListByCompany")); req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"2\"}") .arg(LoginName).arg(Password).arg(CompanyIdList.at(idx)).toUtf8(); req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8()); reply = manager->post(*req,data); break; case 4: req = new QNetworkRequest(AppUrl+QString("/YtIoT/iot/data/view/getSyncStatusVListByCompany")); req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"3\"}") .arg(LoginName).arg(Password).arg(CompanyIdList.at(idx)).toUtf8(); req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8()); reply = manager->post(*req,data); break; case 5: req = new QNetworkRequest(AppUrl+QString("/YtIoT/iot/data/view/getSyncStatusVListByCompany")); req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"6\"}") .arg(LoginName).arg(Password).arg(CompanyIdList.at(idx)).toUtf8(); req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8()); reply = manager->post(*req,data); break; case 6: req = new QNetworkRequest(AppUrl+QString("/YtIoT/iot/data/view/getSyncStatusVListByCompany")); req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"7\"}") .arg(LoginName).arg(Password).arg(CompanyIdList.at(idx)).toUtf8(); req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8()); reply = manager->post(*req,data); break; case 7: req = new QNetworkRequest(AppUrl+QString("/YtIoT/iot/data/view/getSyncStatusVListByCompany")); req->setRawHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); data=QString("queryJson={\"V_LOGINNAME\":\"%1\",\"V_PASSWORD\":\"%2\",\"company_code\":\"%3\",\"COMMSTATUS\":\"NO\",\"dwtype\"=\"16\"}") .arg(LoginName).arg(Password).arg(CompanyIdList.at(idx)).toUtf8(); req->setRawHeader("Content-Length",QString("%1").arg(data.length()).toUtf8()); reply = manager->post(*req,data); break; } } void getFrontPage::getData(QNetworkReply *) { reply->attribute(QNetworkRequest::HttpStatusCodeAttribute); reply->attribute(QNetworkRequest::RedirectionTargetAttribute); if(reply->error()==QNetworkReply::NoError){ QByteArray data = reply->readAll(); emit getFrontpage(QString(data)); if(step==0){ step++; idx = 0; sendRequest(); }else{ if(idx==CompanyIdList.length()){ idx = 0; step++; } if(step<8){ sendRequest(); idx++; } else{ idx = 0; step = 0; } } } }