#pragma once #include #include #include #include #include class HttpClient : public QObject { Q_OBJECT public: explicit HttpClient(QObject* parent = nullptr); ~HttpClient(); void get(const QUrl& baseUrl, const QString& token, const QMap& params); void post(const QUrl& baseUrl, const QJsonObject& data, const QString& token = ""); bool isFinished() const { return isFinish; } void setFinished() { isFinish = true; } signals: void finished(const QJsonDocument& json); void error(const QString& errTxt); private slots: void handleError(QNetworkReply::NetworkError code); private: void handleResponse(QNetworkReply* reply); private: QNetworkAccessManager* manager; bool isFinish; };