You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
668 B
22 lines
668 B
#pragma once
|
|
|
|
#include <QNetworkAccessManager>
|
|
#include <QNetworkRequest>
|
|
#include <QNetworkReply>
|
|
#include <QJsonDocument>
|
|
#include <QJsonObject>
|
|
#include <future>
|
|
|
|
/// @Brief Http客户端
|
|
/// @Note 在主线程中调用,请求时,阻塞主线程
|
|
class HttpClientSync : public QObject {
|
|
Q_OBJECT
|
|
public:
|
|
explicit HttpClientSync(QObject* parent = nullptr);
|
|
~HttpClientSync();
|
|
|
|
std::future<std::pair<bool, QJsonDocument>>
|
|
get(const QUrl& baseUrl, const QString& token, const QMap<QString, QString>& params, int timeoutMs = 5000);
|
|
std::future<std::pair<bool, QJsonDocument>>
|
|
post(const QUrl& url, const QJsonObject& data, const QString& token = "", int timeoutMs = 5000);
|
|
}; |