Browse Source

!2 package return function

chenliangyu 9 months ago
parent
commit
590845245f

+ 37 - 61
Module/mod_chromium/CWSCodec.cpp

@@ -399,14 +399,14 @@ namespace Chromium {
 		cJSON_AddStringToObject(ret, PARAMLIST_HEAD, dstPayLoad.c_str());
 	}
 
-	std::pair<bool, std::string>  CWSCodec::DeserializeRequestAck(CMessage & msg, std::map<int, entity_def_struct>::iterator & it, int& rpos, cJSON * ret) {
+	std::pair<bool, std::string>  CWSCodec::DeserializeRequestAck(CMessage & msg, std::map<int, entity_def_struct>::iterator & it, int& rpos, cJSON * ret, bool isSafe) {
 		entity_def_struct* p_struct = &it->second;
 		CMedthodInterface* mi = mInterpreter->getFunctionInterface(p_struct->entity_name, p_struct->class_name, p_struct->methodID);
 		CTransStruct ts = mi->mResponseInterpreter;
 
 		try
 		{
-			DeserializeBase(msg, ts, rpos, ret, !mi->m_forceNewReturn);
+			DeserializeBase(msg, ts, rpos, ret, !(mi->m_forceNewReturn || isSafe));
 			return std::make_pair(true, mi->mMethodName);
 		}
 		catch (...)
@@ -430,9 +430,7 @@ namespace Chromium {
 		
 	}
 
-	void CWSCodec::DeserializeEvent(CMessage & msg,
-		std::vector<CMedthodInterface>*list,
-		int& rpos, cJSON * ret) {
+	void CWSCodec::DeserializeEvent(CMessage & msg,	std::vector<CMedthodInterface>*list, int& rpos, cJSON * ret, bool isSafe) {
 		int eventID = msg.getEventID();
 		if (NULL == list || eventID < 0 || eventID >= list->size())
 		{
@@ -446,7 +444,7 @@ namespace Chromium {
 		CTransStruct ts = mi->mResponseInterpreter;
 		try
 		{
-			DeserializeBase(msg, ts, rpos, ret, !mi->m_forceNewReturn);
+			DeserializeBase(msg, ts, rpos, ret, !(mi->m_forceNewReturn || isSafe));
 		}
 		catch (...)
 		{
@@ -468,6 +466,26 @@ namespace Chromium {
 		}
 	}
 
+	void CWSCodec::processErrorCode(cJSON* ret, CMessage& msg, int errorCode, socket_msgInfo& msgInfo, int &rpos, bool isSafe) {
+		cJSON_AddNumberToObject(ret, "errorCode", errorCode);
+
+		CSimpleStringA errorMsg = "";
+		ReadT(msg.getPayload(), errorMsg, &rpos);
+
+		auto userCodeInfo = getErrMsgByRemark(errorMsg.GetData());
+
+		if (userCodeInfo.first != 0) {
+			cJSON_AddNumberToObject(ret, "userCode", userCodeInfo.first);
+			cJSON_AddStringToObject(ret, "rtaCode", userCodeInfo.second.VTMCode.c_str());
+		}
+
+		cJSON_AddStringToObject(ret, "errorMsg", userCodeInfo.second.errMsg.c_str());
+
+		msgInfo.userCodeVal = errorCode;
+		msgInfo.userCode = userCodeInfo.second.userCode;
+		msgInfo.rtaCode = userCodeInfo.second.VTMCode;
+		msgInfo.warnMsg = userCodeInfo.second.errMsg;
+	}
 
 	std::string CWSCodec::BufferToJson(CMessage & msg, boost::function<void(int, int)> dealErrcodeFun, socket_msgInfo& msgInfo, int replaceTransId) {
 		//replaceTransId==0,MessageType为8(Event),其他都应该有值
@@ -481,6 +499,9 @@ namespace Chromium {
 		if (msg.getLength() < 12)	//End session len = 12
 			return std::string(); // 丢弃消息
 
+		bool isSafe = false;
+		if (ConfigManager::getInstance().m_ws_infoArr.find(msgInfo.hdlId) != ConfigManager::getInstance().m_ws_infoArr.end())
+			isSafe = ConfigManager::getInstance().m_ws_infoArr[msgInfo.hdlId].isSafe;
 
 		int srcTransId = msg.getTransID();
 		// 通用反序列化
@@ -501,45 +522,14 @@ namespace Chromium {
 #endif
             
 			ReadT(msg.getPayload(), errorCode, &rpos);
-			cJSON_AddNumberToObject(ret, "errorCode", errorCode);
-			ReadT(msg.getPayload(), errorMsg, &rpos);
-			{
-				auto userCodeInfo = getErrMsgByRemark(errorMsg.GetData());
-				if (userCodeInfo.first != 0)
-				{
-					cJSON_AddNumberToObject(ret, "userCode", userCodeInfo.first);
-					cJSON_AddStringToObject(ret, "rtaCode", userCodeInfo.second.VTMCode.c_str());
-				}
-					
-				cJSON_AddStringToObject(ret, "errorMsg", userCodeInfo.second.errMsg.c_str());
-
-				msgInfo.userCodeVal = errorCode;
-				msgInfo.userCode = userCodeInfo.second.userCode;
-				msgInfo.rtaCode = userCodeInfo.second.VTMCode;
-				msgInfo.warnMsg = userCodeInfo.second.errMsg;
-			}
+			processErrorCode(ret, msg, errorCode, msgInfo, rpos, isSafe);
 			msgInfo.sessionId = msg.getSessionID();
 			break;
 		case MessageType::SessionAck:
 			cJSON_AddNumberToObject(ret, "sessionID", msg.getSessionID());
 			cJSON_AddNumberToObject(ret, "transID", replaceTransId != 0 ? replaceTransId : msg.getTransID());
 			ReadT(msg.getPayload(), errorCode, &rpos);
-			cJSON_AddNumberToObject(ret, "errorCode", errorCode);
-			ReadT(msg.getPayload(), errorMsg, &rpos);
-			{
-				auto userCodeInfo = getErrMsgByRemark(errorMsg.GetData());
-				if (userCodeInfo.first != 0)
-				{
-					cJSON_AddNumberToObject(ret, "userCode", userCodeInfo.first);
-					cJSON_AddStringToObject(ret, "rtaCode", userCodeInfo.second.VTMCode.c_str());
-				}
-
-				cJSON_AddStringToObject(ret, "errorMsg", userCodeInfo.second.errMsg.c_str());
-				msgInfo.userCodeVal = errorCode;
-				msgInfo.userCode = userCodeInfo.second.userCode;
-				msgInfo.rtaCode = userCodeInfo.second.VTMCode;
-				msgInfo.warnMsg = userCodeInfo.second.errMsg;
-			}
+			processErrorCode(ret, msg, errorCode, msgInfo, rpos, isSafe);
 			msgInfo.inner_transID = srcTransId;
 			msgInfo.sessionId = msg.getSessionID();
 			break;
@@ -553,34 +543,20 @@ namespace Chromium {
 			cJSON_AddNumberToObject(ret, "sessionID", msg.getSessionID());
 			cJSON_AddNumberToObject(ret, "transID", replaceTransId != 0 ? replaceTransId : msg.getTransID());
 			ReadT(msg.getPayload(), errorCode, &rpos);
-			cJSON_AddNumberToObject(ret, "errorCode", errorCode);
-			ReadT(msg.getPayload(), errorMsg, &rpos);
-			{
-				auto userCodeInfo = getErrMsgByRemark(errorMsg.GetData());
-				if (userCodeInfo.first != 0)
-				{
-					cJSON_AddNumberToObject(ret, "userCode", userCodeInfo.first);
-					cJSON_AddStringToObject(ret, "rtaCode", userCodeInfo.second.VTMCode.c_str());
-				}
-				cJSON_AddStringToObject(ret, "errorMsg", userCodeInfo.second.errMsg.c_str());
-
-				msgInfo.userCodeVal = errorCode;
-				msgInfo.userCode = userCodeInfo.second.userCode;
-				msgInfo.rtaCode = userCodeInfo.second.VTMCode;
-				msgInfo.warnMsg = userCodeInfo.second.errMsg;
-			}
+			processErrorCode(ret, msg, errorCode, msgInfo, rpos, isSafe);
 			break;
 		case MessageType::GetVarAck:
 			cJSON_AddNumberToObject(ret, "sessionID", msg.getSessionID());
 			cJSON_AddNumberToObject(ret, "transID", replaceTransId != 0 ? replaceTransId : msg.getTransID());
 			ReadT(msg.getPayload(), errorCode, &rpos);
-			cJSON_AddNumberToObject(ret, "errorCode", errorCode);
-			ReadT(msg.getPayload(), errorMsg, &rpos);
-			cJSON_AddStringToObject(ret, "value", errorMsg);
+			processErrorCode(ret, msg, errorCode, msgInfo, rpos, isSafe);
 			break;
 		default:
 			errorCode = Error_Unexpect;
-			cJSON_AddNumberToObject(ret, "errorCode", errorCode);
+			if (isSafe)
+				cJSON_AddStringToObject(ret, "errorCode", RTA_UNKNOW_ERR);
+			else
+				cJSON_AddNumberToObject(ret, "errorCode", errorCode);
 			cJSON_AddStringToObject(ret, "errorMsg", "未知消息类型");
 			break;
 		}
@@ -636,7 +612,7 @@ namespace Chromium {
 				free(str);
 				return s;
 			}
-			auto deserializeRet = DeserializeRequestAck(msg, it, rpos, ret);
+			auto deserializeRet = DeserializeRequestAck(msg, it, rpos, ret, isSafe);
 			msgInfo.entityName = it->second.entity_name;
 			msgInfo.className = it->second.class_name;
 			msgInfo.functionName = deserializeRet.second;			
@@ -658,7 +634,7 @@ namespace Chromium {
 				free(str);
 				return s;
 			}
-			DeserializeEvent(msg, iter->second, rpos, ret);
+			DeserializeEvent(msg, iter->second, rpos, ret, isSafe);
 		}
 
 		char* str = getJsonStr(ret);

+ 3 - 2
Module/mod_chromium/CWSCodec.h

@@ -85,6 +85,7 @@ namespace Chromium {
 		void setEntityHandler(CSmartPointer<IEntityFunction> p);
 
 		std::pair<int, CMessage*> JsonToBuffer(std::string strJson, ws_msgInfo& msgInf);
+		void processErrorCode(cJSON* ret, CMessage& msg, int errorCode, socket_msgInfo& msgInfo, int& rpos, bool isSafe);
 		std::string BufferToJson(CMessage& msg, boost::function<void(int,int)> dealErrcodeFun, socket_msgInfo &msgInfo, int replaceTransId = 0);
 
 		std::string GetEntityName(std::string strJson);
@@ -92,8 +93,8 @@ namespace Chromium {
 
 		bool checkEntityHasService(std::string entityName);
 	private:
-		std::pair<bool, std::string> DeserializeRequestAck(CMessage& msg, std::map<int, entity_def_struct>::iterator& it, int& rpos, cJSON* ret);
-		void DeserializeEvent(CMessage& msg, std::vector<CMedthodInterface>* list, int& rpos, cJSON* ret);
+		std::pair<bool, std::string> DeserializeRequestAck(CMessage& msg, std::map<int, entity_def_struct>::iterator& it, int& rpos, cJSON* ret, bool isSafe);
+		void DeserializeEvent(CMessage& msg, std::vector<CMedthodInterface>* list, int& rpos, cJSON* ret, bool isSafe);
 		void DeserializeBase(CMessage& msg, CTransStruct& ts, int& rpos, cJSON* ret, bool writeToOldParam);	//解析json->buffer
 
 		char* getJsonStr(cJSON* pJson);

+ 3 - 3
Module/mod_chromium/CWebsocketServer.cpp

@@ -860,7 +860,7 @@ namespace Chromium {
 		std::string query_str = con->get_uri()->get_query();
 		auto params = parse_query_string(query_str);
 		if (params.find("name") != params.end())
-			ConfigManager::getInstance().m_ws_nameArr[(long)hdl.lock().get()] = params["name"];
+			ConfigManager::getInstance().m_ws_infoArr[(long)hdl.lock().get()] = websocket_info(params["name"], false);
 		LogManager::getInstance().logWebSocketBuild((uint64_t)hdl.lock().get(), con->get_uri()->str(), "unsafe");
 		ConfigManager::getInstance().m_connection_hdls.insert(std::pair<unsigned int, websocketpp::connection_hdl>((long)hdl.lock().get(), hdl));
 	}
@@ -871,7 +871,7 @@ namespace Chromium {
 		std::string query_str = con->get_uri()->get_query();
 		auto params = parse_query_string(query_str);
 		if (params.find("name") != params.end())
-			ConfigManager::getInstance().m_ws_nameArr[(long)hdl.lock().get()] = params["name"];
+			ConfigManager::getInstance().m_ws_infoArr[(long)hdl.lock().get()] = websocket_info(params["name"], true);
 		unsigned int dstHdl = (long)hdl.lock().get();//start from 0, be different from ws
 		LogManager::getInstance().logWebSocketBuild((uint64_t)hdl.lock().get(), con->get_uri()->str(), "wss");
 		ConfigManager::getInstance().m_connection_wss_hdls.insert(std::pair<unsigned int, websocketpp::connection_hdl>((long)dstHdl, hdl));
@@ -884,7 +884,7 @@ namespace Chromium {
 		std::string query_str = con->get_uri()->get_query();
 		auto params = parse_query_string(query_str);
 		if (params.find("name") != params.end())
-			ConfigManager::getInstance().m_ws_nameArr[(long)hdl.lock().get()] = params["name"];
+			ConfigManager::getInstance().m_ws_infoArr[(long)hdl.lock().get()] = websocket_info(params["name"], true);
 		LogManager::getInstance().logWebSocketBuild((uint64_t)hdl.lock().get(), con->get_uri()->str(), "ws_sm2");
 		ConfigManager::getInstance().m_connection_ws_sm2_hdls.insert(std::pair<unsigned int, websocketpp::connection_hdl>(dstHdl, hdl));
 		ConfigManager::getInstance().m_ws_sm2_hdls_manager.insert(std::make_pair(dstHdl, new SM2_Encrypt_Manager()));

+ 30 - 30
Module/mod_chromium/baseEx.cpp

@@ -962,8 +962,8 @@ void LogManager::logWebSocketBuild(int64_t hdl, const std::string& url, const st
 	detail["isSecurity"] = isSecurity;
 	log["detail"] = detail;
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 	writeLog(log);
 }
@@ -1034,8 +1034,8 @@ void LogManager::logWebSocketBeginSession(int64_t hdl,
 
 	log["detail"] = detail;
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 
 	writeLog(log);
@@ -1046,8 +1046,8 @@ void LogManager::logWebSocketClose(int64_t hdl) {
 	log["hdl"] = hdl;
 	log["78173721_logType"] = "ws_close";
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 	writeLog(log);
 }
@@ -1081,8 +1081,8 @@ void LogManager::logWebSocketInfo(int64_t hdl,
 
 	log["detail"] = detail;
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 
 	writeLog(log);
@@ -1117,8 +1117,8 @@ void LogManager::logWebSocketRegister(int64_t hdl,
 
 	log["detail"] = detail;
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 
 	writeLog(log);
@@ -1155,8 +1155,8 @@ void LogManager::logWebSocketRequest(int64_t hdl,
 
 	log["detail"] = detail;
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 
 	writeLog(log);
@@ -1191,8 +1191,8 @@ void LogManager::logWebSocketSetVar(int64_t hdl,
 
 	log["detail"] = detail;
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 
 	writeLog(log);
@@ -1225,8 +1225,8 @@ void LogManager::logWebSocketGetVar(int64_t hdl,
 
 	log["detail"] = detail;
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 
 	writeLog(log);
@@ -1255,8 +1255,8 @@ void LogManager::logWebSocketBroadcast(int64_t hdl,
 
 	log["detail"] = detail;
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 
 	writeLog(log);
@@ -1287,8 +1287,8 @@ void LogManager::logVtmEndSession(int64_t hdl,
 
 	log["detail"] = detail;
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 
 	writeLog(log);
@@ -1327,8 +1327,8 @@ void LogManager::logVtmRequestAck(int64_t hdl,
 
 	log["detail"] = detail;
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 
 	writeLog(log);
@@ -1374,8 +1374,8 @@ void LogManager::logVtmEvent(int64_t hdl,
 
 	log["detail"] = detail;
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 
 	writeLog(log);
@@ -1412,8 +1412,8 @@ void LogManager::logVtmSessionAck(int64_t hdl,
 
 	log["detail"] = detail;
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 
 	writeLog(log);
@@ -1449,8 +1449,8 @@ void LogManager::logWsLogEvent(
 
 	log["detail"] = detail;
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 
 	writeLog(log);
@@ -1487,8 +1487,8 @@ void LogManager::logWsLogWarn(
 
 	log["detail"] = detail;
 	log["timestamp"] = getCurrentTimestamp();
-	if (ConfigManager::getInstance().m_ws_nameArr.find(hdl) != ConfigManager::getInstance().m_ws_nameArr.end())//add websocket label
-		log["name"] = ConfigManager::getInstance().m_ws_nameArr[hdl];
+	if (ConfigManager::getInstance().m_ws_infoArr.find(hdl) != ConfigManager::getInstance().m_ws_infoArr.end())//add websocket label
+		log["name"] = ConfigManager::getInstance().m_ws_infoArr[hdl].name;
 	log["threadId"] = Json::Int64(GetCurrentThreadId());
 
 	writeLog(log);

+ 17 - 1
Module/mod_chromium/baseEx.h

@@ -15,6 +15,10 @@
 
 #define HEADER_TERMINALNO_NAME "vtm-terminalno"
 
+#define SUC_RETURN_STR "SUC0000"
+
+#define RTA_UNKNOW_ERR "RTA42F2"
+
 
 std::vector<std::string> find_files(const std::string srcPath, const std::string fileName, bool isDir = false);
 std::string generateTimeStr(bool isSimple = false);
@@ -155,6 +159,18 @@ struct SYS_EVENT_PARAM
 	SYS_EVENT_PARAM& operator=(SYS_EVENT_PARAM&&) = delete;
 };
 
+struct websocket_info
+{
+	std::string name;
+	bool isSafe;
+
+	// 默认构造函数:初始化为默认值
+	websocket_info() : name(""), isSafe(false) {}
+
+	// 带参数的构造函数:根据传入的参数初始化
+	websocket_info(const std::string& n, bool s) : name(n), isSafe(s) {}
+};
+
 class ConfigManager {
 public:
     static ConfigManager& getInstance();
@@ -224,7 +240,7 @@ public:
 //params for CWebsocketServer
 public:
 	std::map<unsigned int, websocketpp::connection_hdl> m_connection_hdls;
-	std::map<unsigned int, std::string> m_ws_nameArr;
+	std::map<unsigned int, websocket_info> m_ws_infoArr;
 	std::map<unsigned int, websocketpp::connection_hdl> m_connection_ws_sm2_hdls;
 	std::map<unsigned int, websocketpp::connection_hdl> m_connection_wss_hdls;
 	std::map<unsigned int, std::shared_ptr<SM2_Encrypt_Manager>> m_ws_sm2_hdls_manager;