提交测试,基本完成
This commit is contained in:
@ -60,7 +60,7 @@ RequestBodyBase::RequestBodyBase(){
|
||||
if(!infFile->open(QIODevice::ReadOnly|QIODevice::Text)){
|
||||
QMessageBox::critical(nullptr,QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>"));
|
||||
delete infFile;
|
||||
exit(1);
|
||||
exit_manager.exit(1);
|
||||
}
|
||||
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
||||
QByteArray bytes;
|
||||
@ -73,19 +73,19 @@ RequestBodyBase::RequestBodyBase(){
|
||||
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ݣ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD>Ӧ<EFBFBD>ֶ<EFBFBD>
|
||||
QJsonObject obj_root=qJsonDocument.object();
|
||||
if(obj_root.value("product")==QJsonValue::Undefined){
|
||||
QMessageBox::warning(nullptr, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||
exit(1);
|
||||
QMessageBox::critical(nullptr, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||
exit_manager.exit(1);
|
||||
}
|
||||
product=obj_root.value("product").toString();
|
||||
if(obj_root.value("parter_id")==QJsonValue::Undefined){
|
||||
QMessageBox::warning(nullptr, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||
exit(1);
|
||||
if(obj_root.value("partner_id")==QJsonValue::Undefined){
|
||||
QMessageBox::critical(nullptr , QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||
exit_manager.exit(1);
|
||||
}
|
||||
parter_id=obj_root.value("parter_id").toString();
|
||||
parter_id=obj_root.value("partner_id").toString();
|
||||
}else{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
QMessageBox::warning(nullptr, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||
exit(1);
|
||||
QMessageBox::critical(nullptr, QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), QString::fromLocal8Bit("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
|
||||
exit_manager.exit(1);
|
||||
}
|
||||
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ϵͳ<CFB5>汾
|
||||
this->os="Windows";
|
||||
@ -188,6 +188,13 @@ RequestBodyBase::RequestBodyBase(){
|
||||
|
||||
void ConfigRequest::sendRequest(ConfigResponse *configResponse) {
|
||||
timer = new QTimer(this);
|
||||
if(agree)
|
||||
{
|
||||
QJsonObject obj_root = qJsonDocument.object();
|
||||
obj_root.insert("autostart", autostart);
|
||||
qJsonDocument.setObject(obj_root);
|
||||
}
|
||||
|
||||
QNetworkAccessManager *httpMgr = new QNetworkAccessManager();
|
||||
QNetworkRequest requestInfo;
|
||||
//HTTP<54><50><EFBFBD><EFBFBD>
|
||||
@ -208,12 +215,13 @@ void ConfigRequest::sendRequest(ConfigResponse *configResponse) {
|
||||
timer->stop();
|
||||
//delete httpMgr;
|
||||
QJsonDocument result;
|
||||
QByteArray buffer;
|
||||
configResponse->succeed = false;
|
||||
//memset(configResponse,0,sizeof(*configResponse));
|
||||
auto error = reply->error();
|
||||
//<2F><><EFBFBD><EFBFBD>û<EFBFBD>д<EFBFBD><D0B4><EFBFBD>
|
||||
if(reply->error() == QNetworkReply::NoError) {
|
||||
result = QJsonDocument::fromJson(reply->readAll());
|
||||
buffer = reply->readAll();
|
||||
}else{
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
|
||||
configResponse->succeed=false;
|
||||
@ -223,7 +231,7 @@ void ConfigRequest::sendRequest(ConfigResponse *configResponse) {
|
||||
return;
|
||||
}
|
||||
//qDebug() << result.toJson();
|
||||
|
||||
result = QJsonDocument::fromJson(buffer);
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if(result.isObject()){
|
||||
QJsonObject obj_root=result.object();
|
||||
@ -264,6 +272,7 @@ void ConfigRequest::sendRequest(ConfigResponse *configResponse) {
|
||||
delete httpMgr;
|
||||
}
|
||||
void RequestBodyBase::cancelDownload() {
|
||||
downloadSuccess = false;
|
||||
disconnect(reply, &QNetworkReply::finished, &eventLoop, &QEventLoop::quit);
|
||||
eventLoop.quit();
|
||||
reply->abort();
|
||||
@ -575,7 +584,7 @@ DeviceRequest::DeviceRequest() : RequestBodyBase() {
|
||||
eventLoop.exec();
|
||||
delete httpMgr;
|
||||
}
|
||||
bool SoftwareRequest::sendRequest(QHash<QString, Record> *records)
|
||||
bool SoftwareRequest::sendRequest(QHash<QString,QString>&startMenu, QHash<QString, Record> *records)
|
||||
{
|
||||
timer = new QTimer(this);
|
||||
QNetworkAccessManager* httpMgr = new QNetworkAccessManager();
|
||||
@ -590,8 +599,20 @@ bool SoftwareRequest::sendRequest(QHash<QString, Record> *records)
|
||||
object.insert("path", record.path);
|
||||
array.append(object);
|
||||
}
|
||||
QJsonArray menu_list;
|
||||
for(auto name:startMenu.keys())
|
||||
{
|
||||
QJsonObject object;
|
||||
object.insert("name", name);
|
||||
object.insert("path", startMenu[name]);
|
||||
menu_list.append(object);
|
||||
}
|
||||
QJsonObject obj_root = qJsonDocument.object();
|
||||
obj_root.insert("software", array);
|
||||
QJsonObject object;
|
||||
object.insert("reg", array);
|
||||
object.insert("start", menu_list);
|
||||
obj_root.insert("data", object);
|
||||
obj_root.insert("type", "update");
|
||||
qJsonDocument.setObject(obj_root);
|
||||
QString url = SOFTWARE_URL;
|
||||
requestInfo.setUrl(url);
|
||||
@ -607,15 +628,16 @@ bool SoftwareRequest::sendRequest(QHash<QString, Record> *records)
|
||||
//<2F><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
|
||||
eventLoop.exec();
|
||||
timer->stop();
|
||||
delete timer;
|
||||
QJsonDocument result;
|
||||
// auto error = reply->error();
|
||||
//<2F><><EFBFBD><EFBFBD>û<EFBFBD>д<EFBFBD><D0B4><EFBFBD>
|
||||
qDebug() << reply->error();
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
result = QJsonDocument::fromJson(reply->readAll());
|
||||
}
|
||||
else {
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD>
|
||||
delete timer;
|
||||
delete httpMgr;
|
||||
return false;
|
||||
}
|
||||
@ -628,15 +650,51 @@ bool SoftwareRequest::sendRequest(QHash<QString, Record> *records)
|
||||
for (auto value : array) {
|
||||
QJsonObject object = value.toObject();
|
||||
QString orig_name = object.value("orig_name").toString();
|
||||
(*records)[orig_name].logo = object.value("img").toString();
|
||||
if (orig_name.isEmpty())
|
||||
{
|
||||
delete httpMgr;
|
||||
return false;
|
||||
}
|
||||
QNetworkAccessManager manager;
|
||||
downloadSuccess = true;
|
||||
QUrl url_logo(object.value("img").toString());
|
||||
QNetworkRequest* request_logo = new QNetworkRequest(url_logo);
|
||||
reply = manager.get(*request_logo);
|
||||
QTimer timer;
|
||||
timer.setInterval(5000);
|
||||
connect(reply, &QNetworkReply::finished, &eventLoop, &QEventLoop::quit);
|
||||
connect(&timer, &QTimer::timeout, this, &SoftwareRequest::cancelDownload);
|
||||
eventLoop.exec();
|
||||
timer.stop();
|
||||
QByteArray buffer;
|
||||
delete request_logo;
|
||||
reply->close();
|
||||
QString dir = QApplication::applicationDirPath() + "/images/software/";
|
||||
if (downloadSuccess == true) {
|
||||
buffer = reply->readAll();
|
||||
QFile file(dir + orig_name + ".svg");
|
||||
if (file.open(QIODevice::WriteOnly | QIODevice::Text))
|
||||
{
|
||||
file.write(buffer);
|
||||
file.close();
|
||||
}
|
||||
}
|
||||
|
||||
(*records)[orig_name].logo = dir + orig_name + ".svg";
|
||||
(*records)[orig_name].name = object.value("name").toString();
|
||||
(*records)[orig_name].locked = object.value("locked").toBool();
|
||||
(*records)[orig_name].url = object.value("url").toString();
|
||||
(*records)[orig_name].path = object.value("path").toString();
|
||||
if ((*records)[orig_name].path.isEmpty())
|
||||
{
|
||||
delete httpMgr;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
//<2F><><EFBFBD>ݲ<EFBFBD><DDB2><EFBFBD><EFBFBD><EFBFBD>
|
||||
//delete reply;
|
||||
delete timer;
|
||||
delete httpMgr;
|
||||
return false;
|
||||
}
|
||||
@ -644,3 +702,64 @@ bool SoftwareRequest::sendRequest(QHash<QString, Record> *records)
|
||||
return true;
|
||||
}
|
||||
|
||||
QString OpenWeChatRequest::sendRequest(bool notuse)
|
||||
{
|
||||
timer = new QTimer(this);
|
||||
QNetworkAccessManager* httpMgr = new QNetworkAccessManager();
|
||||
QNetworkRequest requestInfo;
|
||||
//HTTP<54><50><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>ͷ
|
||||
requestInfo.setUrl(QUrl(WECHAT_URL));
|
||||
requestInfo.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json"));
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
|
||||
reply = httpMgr->post(requestInfo, 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, this, &OpenWeChatRequest::cancelDownload);
|
||||
//<2F><><EFBFBD>ö<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9>ʱ
|
||||
connect(timer, &QTimer::timeout, &eventLoop, &QEventLoop::quit);
|
||||
timer->start(5000);
|
||||
//<2F><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
|
||||
eventLoop.exec();
|
||||
timer->stop();
|
||||
QByteArray buffer = reply->readAll();
|
||||
QJsonDocument reply_json = QJsonDocument::fromJson(buffer);
|
||||
if(!reply_json.isObject())
|
||||
{
|
||||
delete timer;
|
||||
delete httpMgr;
|
||||
delete reply;
|
||||
return "ok";
|
||||
}
|
||||
delete timer;
|
||||
delete httpMgr;
|
||||
delete reply;
|
||||
return reply_json.object().value("msg").toString();
|
||||
}
|
||||
|
||||
void OpRequest::sendRequest()
|
||||
{
|
||||
timer = new QTimer(this);
|
||||
QJsonObject object = qJsonDocument.object();
|
||||
object.insert(op, op_value);
|
||||
qJsonDocument.setObject(object);
|
||||
QNetworkAccessManager* httpMgr = new QNetworkAccessManager();
|
||||
QNetworkRequest requestInfo;
|
||||
//HTTP<54><50><EFBFBD><EFBFBD>
|
||||
//<2F><><EFBFBD><EFBFBD>ͷ
|
||||
requestInfo.setUrl(QUrl(OP_URL));
|
||||
requestInfo.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json"));
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>ı<EFBFBD><C4B1><EFBFBD>
|
||||
reply = httpMgr->post(requestInfo, 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, this, &OpRequest::cancelDownload);
|
||||
//<2F><><EFBFBD>ö<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9>ʱ
|
||||
connect(timer, &QTimer::timeout, &eventLoop, &QEventLoop::quit);
|
||||
timer->start(5000);
|
||||
//<2F><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>
|
||||
eventLoop.exec();
|
||||
timer->stop();
|
||||
delete timer;
|
||||
delete httpMgr;
|
||||
delete reply;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user