完成1.更新数据库2.获取导航栏
This commit is contained in:
@ -23,6 +23,7 @@
|
||||
#include <ctime>
|
||||
#include <qDebug>
|
||||
#include "globalvariables.h"
|
||||
#include "buttonstruct.h"
|
||||
#pragma comment(lib, "wbemuuid.lib")
|
||||
#ifdef _DEBUG
|
||||
#pragma comment(lib, "Qt5Networkd.lib")
|
||||
@ -221,7 +222,7 @@ void ConfigRequest::sendRequest(ConfigResponse *configResponse) {
|
||||
delete httpMgr;
|
||||
return;
|
||||
}
|
||||
qDebug() << result.toJson();
|
||||
//qDebug() << result.toJson();
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(result.isObject()){
|
||||
@ -240,13 +241,15 @@ void ConfigRequest::sendRequest(ConfigResponse *configResponse) {
|
||||
auto i=0;
|
||||
for(auto value:array){
|
||||
QJsonObject object=value.toObject();
|
||||
Menu menu;
|
||||
menu.img=object.value("img").toString();
|
||||
menu.img_cover=object.value("img_cover").toString();
|
||||
menu.title=object.value("title").toString();
|
||||
menu.func=object.value("func").toString();
|
||||
menu.url=object.value("url").toString();
|
||||
configResponse->menus << menu;
|
||||
Button button;
|
||||
button.img=object.value("img").toString();
|
||||
// button.img_cover=object.value("img_cover").toString();
|
||||
button.title=object.value("title").toString();
|
||||
button.categroy_id = object.value("category_id").toString();
|
||||
button.op = object.value("op").toString();
|
||||
button.func=object.value("func").toString();
|
||||
button.url=object.value("url").toString();
|
||||
configResponse->buttons << button;
|
||||
i++;
|
||||
}
|
||||
configResponse->succeed = true;
|
||||
@ -572,3 +575,70 @@ DeviceRequest::DeviceRequest() : RequestBodyBase() {
|
||||
eventLoop.exec();
|
||||
delete httpMgr;
|
||||
}
|
||||
bool SoftwareRequest::sendRequest(QHash<QString, Record> *records)
|
||||
{
|
||||
timer = new QTimer(this);
|
||||
QNetworkAccessManager* httpMgr = new QNetworkAccessManager();
|
||||
QNetworkRequest requestInfo;
|
||||
//HTTP<54><50><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>ͷ
|
||||
QJsonArray array;
|
||||
for(auto record : *records)
|
||||
{
|
||||
array.append(record.orig_name);
|
||||
}
|
||||
QJsonObject obj_root = qJsonDocument.object();
|
||||
obj_root.insert("orig_names", array);
|
||||
qJsonDocument.setObject(obj_root);
|
||||
QString url = SOFTWARE_URL;
|
||||
requestInfo.setUrl(url);
|
||||
requestInfo.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json"));
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
|
||||
reply = httpMgr->post(requestInfo, qJsonDocument.toJson());
|
||||
qDebug() << qJsonDocument.toJson();
|
||||
//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊֹ
|
||||
connect(reply, &QNetworkReply::finished, &eventLoop, &QEventLoop::quit);
|
||||
//<2F><><EFBFBD>ö<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9>ʱ
|
||||
connect(timer, &QTimer::timeout, this, &SoftwareRequest::cancelDownload);
|
||||
timer->start(5000);
|
||||
//<2F><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
|
||||
eventLoop.exec();
|
||||
timer->stop();
|
||||
QJsonDocument result;
|
||||
// auto error = reply->error();
|
||||
//<2F><><EFBFBD><EFBFBD>û<EFBFBD>д<EFBFBD><D0B4><EFBFBD>
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
result = QJsonDocument::fromJson(reply->readAll());
|
||||
}
|
||||
else {
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
|
||||
delete timer;
|
||||
delete httpMgr;
|
||||
return false;
|
||||
}
|
||||
//qDebug() << result.toJson();
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (result.isObject()) {
|
||||
QJsonObject obj_root2 = result.object();
|
||||
QJsonArray array = obj_root2.value("data").toObject().value("menu").toArray();
|
||||
for (auto value : array) {
|
||||
QJsonObject object = value.toObject();
|
||||
QString orig_name = object.value("orig_name").toString();
|
||||
(*records)[orig_name].logo = object.value("img").toString();
|
||||
(*records)[orig_name].op = object.value("op").toString();
|
||||
(*records)[orig_name].func = object.value("func").toString();
|
||||
(*records)[orig_name].url = object.value("url").toString();
|
||||
}
|
||||
}
|
||||
else {
|
||||
//<2F><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD>
|
||||
//delete reply;
|
||||
delete timer;
|
||||
delete httpMgr;
|
||||
return false;
|
||||
}
|
||||
delete httpMgr;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user