#pragma execution_character_set("utf-8") #include "MessageHandle.h" #include #include #include #include "IniFileManager.h" #include "Chinese_English_bullet_box.h" ccsMessageHandle::ccsMessageHandle() { } ccsMessageHandle::~ccsMessageHandle() { } void ccsMessageHandle::web2qt(const int &cmd, const QString &data) { if (m_cmd2func.contains(cmd)) { // qDebug() << data; m_cmd2func[cmd](data); // 执行完毕获取返回结果,通过map映射根据该函数的处理代码,返回查询对应的错误信息,然后将信息返回到网页端。 } } void ccsMessageHandle::register_callback(const std::function &func, const int &functionID) { m_cmd2func[functionID] = func; } void ccsMessageHandle::unregister_callback(const int &functionID) { m_cmd2func.remove(functionID); } void ccsMessageHandle::qt2web(int cmd, int errorCode, QString msg, QString data) { QString jsonMsg = ccsMessageHandle::instance()->createMsg(cmd, errorCode,msg,data); ccsMessageHandle::instance()->qt2web(cmd, jsonMsg); } QString ccsMessageHandle::createMsg(int cmd, int errorCode, const QString &msg, QString data) { QString code = QString("%1_%2").arg(errorCode).arg(cmd); nlohmann::json json, jsonData; string strRet = msg.toStdString(); if(!strRet.empty()) { //路径在这里部支持 //int iLange = IniFileManager::getInstance().getLanguage(); //strRet = Chinese_English_bullet_box::getInstance().get_Bullet_box_array(strRet,iLange); } json["msg"] = strRet; json["code"] = code.toStdString(); if (!data.isEmpty()) json["data"]=jsonData.parse(data.toStdString()); else json["data"]=jsonData; return QString::fromStdString(json.dump()); }