66 lines
1.8 KiB
C++
66 lines
1.8 KiB
C++
|
#pragma execution_character_set("utf-8")
|
|||
|
#include "MessageHandle.h"
|
|||
|
#include <QString>
|
|||
|
#include <QDebug>
|
|||
|
#include <nlohmann/json.hpp>
|
|||
|
#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<void(QString)> &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());
|
|||
|
}
|
|||
|
|