| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- #include "processapi.h"
- #include "qjsonarray.h"
- #include "student.h"
- #include <QJsonDocument>
- #include <QJsonObject>
- #include <QJsonValue>
- #include <QNetworkAccessManager>
- #include <QUrlQuery>
- #include <optional>
- #include <basemainTr.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());
- std::optional<QJsonValue> uploaderRequest(const QString &url, const QStringList &fileList);
- static const QLatin1String scCode("code");
- static const QLatin1String scMessage("message");
- static const QLatin1String scData("data");
- static const QLatin1String scList("list");
- ProcessApi::ProcessApi()
- : url("/api/v1/user_pid/addall")
- {}
- ProcessApi::ProcessApi(const QJsonArray &array)
- : url("/api/v1/user_pid/addall")
- {
- // QJsonDocument jsonData(array);
- // sendData = jsonData.toJson();
- QJsonObject json;
- json["pids"] = array;
- QJsonDocument jsonData(json);
- sendData = jsonData.toJson();
- }
- bool ProcessApi::post()
- {
- // qDebug().noquote() << sendData;
- std::optional<QJsonValue> responseData = sendRequest(QNetworkAccessManager::PostOperation,
- url,
- sendData);
- if (!responseData.has_value()) {
- return false;
- }
- QJsonValue data;
- const QJsonObject object = responseData.value().toObject();
- if (object.contains(scCode)) {
- int code = object.value(scCode).toInt();
- if (code == 200) {
- return true;
- }
- }
- if (object.contains(scMessage)) {
- const QString &message = object.value(scMessage).toString();
- // Core::MessageManager::writeFlashing(message);
- }
- if (object.contains(scData)) {
- data = object.value(scData);
- }
- return false;
- }
- ProcessNameApi::ProcessNameApi()
- : url("/api/v1/process/listwithmachine")
- {}
- QJsonArray ProcessNameApi::get()
- {
- std::optional<QJsonValue> responseData = sendRequest(QNetworkAccessManager::GetOperation,
- url,
- sendData);
- if (!responseData.has_value()) {
- return QJsonArray();
- }
- QJsonValue data;
- const QJsonObject object = responseData.value().toObject();
- if (object.contains(scList)) {
- return object.value(scList).toArray();
- }
- return QJsonArray();
- }
- ProcessImageApi::ProcessImageApi()
- : url("/api/v1/student_game_pic/single_up")
- {}
- bool ProcessImageApi::post(const QStringList &fileList)
- {
- std::optional<QJsonValue> responseData = uploaderRequest(url, fileList);
- if (!responseData.has_value()) {
- return false;
- }
- QJsonValue data;
- const QJsonObject object = responseData.value().toObject();
- if (object.contains(scCode)) {
- return object.value(scCode).toInt() == 200;
- }
- return false;
- }
- } // namespace TC
|