1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- /*
- * update_assistant.cpp
- *
- * Created on: 2022年5月5日
- * Author: pengzc
- */
- #include "update_assistant.h"
- #include "base/http_client.h"
- #include "base/json_object.h"
- #include "utils/Log.h"
- #include "restclient-cpp/restclient.h"
- #include "storage/StoragePreferences.h"
- #include "service/BusinessConfig.h"
- namespace base {
- UpdateAssistant::UpdateAssistant() {
- // TODO 自动生成的构造函数存根
- }
- int UpdateAssistant::GetLatest(const std::string& app_name, VersionInfo* info) {
- if (info == NULL) {
- return -1;
- }
- // using namespace base;
- // HttpClient client;
- // client.SetTimeout(6000);
- // client.SetConnectionTimeout(6000);
- // client.SetCAInfoFilePath(CONFIGMANAGER->getResFilePath("cacert.pem"));
- // HttpRequest req("GET", getHttpGateway() + "/fly/" + app_name, "");
- // std::string url = getHttpGateway() + "/deviceBed/getAppVersion?device_type=304&part_id=" + StoragePreferences::getString(STORE_PARTID, "");
- // HttpRequest req("POST", url, "");
- // HttpResponse response = client.Do(req);
- //
- // if (response.StatusCode() != 200) {
- // return response.ErrorCode();
- // }
- //
- // base::JSONObject json;
- // if (!json.ParseObject(response.Body())) {
- // LOGD("Invalid response %s", response.Body().c_str());
- // return -1;
- // }
- // info->version = json.GetString("version_code", "");
- // info->versionNo = json.GetInt("version_no",1);
- // info->url = json.GetString("app_path", "");
- // info->file_size = json.GetInt("fileSize", 0);
- std::string url = getHttpGateway() + "/deviceRoom/get_app_version?device_type=303&part_id=" + StoragePreferences::getString(STORE_PARTID, "");
- std::string content_type = std::string("application/json");
- LOGD("请求版本信息. url = %s", url.c_str());
- //发起HTTP POST请求
- RestClient::Response r = RestClient::post(url, content_type, "");
- if (r.code != 200) {
- LOGD("请求版本信息-> 错误代码: %d", r.code);
- return r.code;
- }
- LOGD("获得版本信息. result = %s", r.body.c_str());
- //解析json
- Json::Reader reader;
- Json::Value root;
- if(reader.parse(r.body, root, false)) {
- info->version = root["version_code"].asString();
- info->versionNo = root["version_no"].asInt();
- info->url = root["app_path"].asString();
- info->file_size = root["fileSize"].asInt();
- LOGD("versionNo: %d", info->versionNo);
- }
- return 0;
- }
- UpdateAssistant::~UpdateAssistant() {
- // TODO 自动生成的析构函数存根
- }
- } /* namespace base */
|