#pragma execution_character_set("utf-8") #include "StabilityUIFunction.h" #include "Logger.h" #define BIND(func) std::bind(&StabilityUIFunction::func, this, std::placeholders::_1) StabilityUIFunction::StabilityUIFunction() { ccsMessageHandle::instance()->register_callback(BIND(stab_create_cal), CMD_stab_create_cal); ccsMessageHandle::instance()->register_callback(BIND(stab_cal), CMD_stab_cal); ccsMessageHandle::instance()->register_callback(BIND(stab_delete_cal), CMD_stab_delete_cal); LOG_DEBUG("StabilityUIFunction Constructed"); } StabilityUIFunction::~StabilityUIFunction() { ccsMessageHandle::instance()->unregister_callback(CMD_stab_create_cal); ccsMessageHandle::instance()->unregister_callback(CMD_stab_cal); ccsMessageHandle::instance()->unregister_callback(CMD_stab_delete_cal); LOG_DEBUG("StabilityUIFunction Destroyed"); } void StabilityUIFunction::stab_create_cal(const QString& message) { bool bRet = false; QString outMsg; nlohmann::json myjson; int errorCode = 0; vector vCom; try { myjson = nlohmann::json::parse(message.toStdString()); } catch (const nlohmann::json::parse_error& e) { outMsg = e.what(); return; } if (!myjson.contains("data")) { outMsg = "传入json出错!"; return; } if (myjson["data"].is_array()) { // 遍历数组 for (size_t i = 0; i < myjson["data"].size(); i++) { vCom.emplace_back(myjson["data"][i].get()); } } else { outMsg = "传入json出错!"; return; } int cmd = CMD_stab_cal; bRet = getStabilityModelPtr()->stabilityCalc(vCom, E_AnalysisModuleOperation_Type_Create); if (!bRet) { QtToWebFunction::getInstance().qt2web(cmd, EXECUTE_FAIL, "参数错误", ""); } else { QtToWebFunction::getInstance().qt2web(cmd, EXECUTE_SUCCESS, "创建成功", ""); } } void StabilityUIFunction::stab_cal(const QString& message) { bool bRet = false; QString outMsg; nlohmann::json myjson; int errorCode = 0; vector vCom; try { myjson = nlohmann::json::parse(message.toStdString()); } catch (const nlohmann::json::parse_error& e) { outMsg = e.what(); return ; } if (!myjson.contains("data")) { outMsg = "传入json出错!"; return ; } if (myjson["data"].is_array()) { // 遍历数组 for (size_t i = 0; i < myjson["data"].size(); i++) { vCom.emplace_back(myjson["data"][i].get()); } } else { outMsg = "传入json出错!"; return; } int cmd = CMD_stab_cal; bRet = getStabilityModelPtr()->stabilityCalc(vCom, E_AnalysisModuleOperation_Type_Calc); if (!bRet) { QtToWebFunction::getInstance().qt2web(cmd, EXECUTE_FAIL, "参数错误", ""); } else { QtToWebFunction::getInstance().qt2web(cmd, EXECUTE_SUCCESS, "计算成功",""); } } void StabilityUIFunction::stab_delete_cal(const QString& message) { //QString commandLine = ""; ////getStabilityModelPtr()->stabilityCalc(commandLine, E_AnalysisModuleOperation_Type_Delete); }