#include "machine.h" #include #include #include #include #include #include #include #include "appevent.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"); MachineList::MachineList() : url("/api/v1/machine/list") {} MachineList::MachineList(const QString &machineCode) { QUrl qurl("/api/v1/machine/list"); QUrlQuery query; query.addQueryItem("machine_code", machineCode); qurl.setQuery(query); url = qurl.toString(); } std::optional MachineList::get() { return sendRequest(QNetworkAccessManager::GetOperation, url); // const QJsonObject &object = data.value().toObject(); // Login::Data ret; // if (object[scJwtToken].isObject()) { // const QJsonObject &jwtObject = object[scJwtToken].toObject(); // ret.accessToken = jwtObject[scAccessToken].toString(); // ret.accessExpire = jwtObject[scAccessExpire].toVariant().toLongLong(); // ret.refreshAfter = jwtObject[scRefreshAfter].toVariant().toLongLong(); // } // qDebug() << object; // //设置 token 到全局变量 // if (ret.accessExpire > AppEvent::time()) { // AppEvent::instance()->setJwtToken(ret.accessToken); // AppEvent::instance()->setRefreshTime(ret.refreshAfter); // return true; // } // return false; } MachineInsert::MachineInsert() : url("/api/v1/machine/addone") { } MachineInsert::MachineInsert(const QString &machineCode) : url("/api/v1/machine/addone") { QJsonObject json; json["machine_code"] = machineCode; json["computer_brand"] = ""; QJsonDocument jsonData(json); sendData = jsonData.toJson(); } std::optional MachineInsert::post() { std::optional 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) { // 获取当前活动窗口 critical(object[scMessage].toString()); return false; } } 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); // } } MachineUpdate::MachineUpdate() : url("/api/v1/machine/update") {} MachineUpdate::MachineUpdate(const QString &uuid, const QString &userUuid, const QJsonObject &old) : url("/api/v1/machine/update") { QJsonObject json = old; json["uuid"] = uuid; json["user_uuid"] = userUuid; QJsonDocument jsonData(json); sendData = jsonData.toJson(); } std::optional MachineUpdate::post() { std::optional 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) { // 获取当前活动窗口 critical(object[scMessage].toString()); return false; } } return true; } } // namespace TC