#include "configapi.h" #include #include #include #include #include #include #include #include "appevent.h" #include "qvariant.h" namespace TC { void critical(const QString &text, const QString &title = Tr::tr("Error")); std::optional sendRequest(QNetworkAccessManager::Operation op, const QString &url, const QByteArray &postData = QByteArray()); static const QLatin1String scCode("code"); static const QLatin1String scMessage("message"); static const QLatin1String scData("data"); static const QLatin1String scValue("value"); ConfigApi::ConfigApi() : url("/api/v1/sys/config/get_config_value") {} ConfigApi::ConfigApi(const QString &name) { QUrl qurl("/api/v1/sys/config/get_config_value"); QUrlQuery query; query.addQueryItem("name", name); qurl.setQuery(query); url = qurl.toString(); } std::optional ConfigApi::get() { std::optional responseData = sendRequest(QNetworkAccessManager::GetOperation, url); if (!responseData.has_value()) { return std::nullopt; } const QJsonObject &object = responseData.value().toObject(); if (object.contains(scData)) { const QJsonObject &data = object[scData].toObject(); if (data.contains(scValue)) { return data[scValue].toVariant(); } } return std::nullopt; } } // namespace TC