#ifndef UEXTERNCONM_SETPMSYS_H #define UEXTERNCONM_SETPMSYS_H #include #include "../loguru.hpp" #define DB_TO_PM_SETPMSYS "uExternComm_setPowerSystem_cmd" class uExternComm_setPowerSystemMsg { private: public: std::string key = "uExternComm_setPowerSystem_cmd"; uExternComm_setPowerSystemMsg(/* args */){}; ~uExternComm_setPowerSystemMsg(){}; int getSetPMSys(const std::string& key, const std::string& msg) { Json::Value root; Json::CharReaderBuilder builder; JSONCPP_STRING errs; // 解析JSON字符串 std::istringstream stream(msg); if (!Json::parseFromStream(builder, stream, &root, &errs)) { std::cerr << "JSON解析失败: " << errs << std::endl; return -1; } // 检查并读取电源系统设置 if (root.isMember("powerCmd_uint8") && root["powerCmd_uint8"].isUInt()) { return root["powerCmd_uint8"].asUInt(); } else { LOG_F(WARNING, "缺少或类型不匹配: powerCmd_uint8"); return -1; } } }; #endif