| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #include "configapi.h"
- #include <QJsonDocument>
- #include <QJsonObject>
- #include <QJsonValue>
- #include <QNetworkAccessManager>
- #include <QUrlQuery>
- #include <basemainTr.h>
- #include <optional>
- #include "appevent.h"
- #include "qvariant.h"
- namespace TC {
- void critical(const QString &text, const QString &title = Tr::tr("Error"));
- std::optional<QJsonValue> 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<QVariant> ConfigApi::get()
- {
- std::optional<QJsonValue> responseData = sendRequest(QNetworkAccessManager::GetOperation, url);
- if (!responseData.has_value()) {
- return false;
- }
- 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
|