|
@@ -8,6 +8,10 @@
|
|
|
#include "SpDefine.h"
|
|
|
#include <list>
|
|
|
#include <cstdarg>
|
|
|
+#if (defined _WIN32 || defined _WIN64)
|
|
|
+#else
|
|
|
+#include <winpr/string.h>
|
|
|
+#endif
|
|
|
|
|
|
#define MAX_LOG_LEN 1900
|
|
|
void skyeye_GetToken(char* channelId, char* token, char* terminalno, char* reserve1);
|
|
@@ -63,7 +67,7 @@ public:
|
|
|
std::string t_tokenSecret, std::string t_terminalno, std::string t_installVersion)
|
|
|
{
|
|
|
interval = std::chrono::minutes(t_expired_min);
|
|
|
- endpoint = t_endpoint;
|
|
|
+ endpoint = t_endpoint + "/api/auth/v2/token";
|
|
|
channelId = t_channelId;
|
|
|
tokenSecret = t_tokenSecret;
|
|
|
terminalno = t_terminalno;
|
|
@@ -79,23 +83,28 @@ public:
|
|
|
std::pair<std::string ,std::string> getToken()
|
|
|
{
|
|
|
auto execute_refreshToken = [this] {
|
|
|
- HttpClientRequestConfig config(endpoint, NULL);
|
|
|
+ HttpClientRequestConfig config(HttpRequestMethod::POST, endpoint, NULL);
|
|
|
HttpClientResponseResult result;
|
|
|
|
|
|
|
|
|
- Json::Value root;
|
|
|
- root["installVersion"] = installVersion;
|
|
|
- root["terminalNo"] = terminalno;
|
|
|
+ Json::Value businessId;
|
|
|
+ businessId["installVersion"] = installVersion;
|
|
|
+ businessId["terminalNo"] = terminalno;
|
|
|
Json::FastWriter writer;
|
|
|
- std::string businessId_str = writer.write(root);
|
|
|
+ std::string businessId_str = writer.write(businessId);
|
|
|
+
|
|
|
+ Json::Value root;
|
|
|
+ root["channelId"] = channelId;
|
|
|
+ root["clientSecret"] = tokenSecret;
|
|
|
+ root["businessId"] = businessId_str;
|
|
|
+ std::string root_str = writer.write(root);
|
|
|
+
|
|
|
+ config.SetJsonBody(root_str);
|
|
|
|
|
|
- config.AppendQuery("channelId", channelId);
|
|
|
- config.AppendQuery("clientSecret", tokenSecret);
|
|
|
- config.AppendQuery("businessId", businessId_str);
|
|
|
RestfulClient client = RestfulClient::getInstance();
|
|
|
client.Do(&config, &result);
|
|
|
if (result.ResponseOK()) {
|
|
|
- //½âÎö·µ»Ø×Ö·û´®
|
|
|
+ //è§£æž�返回å—符串
|
|
|
Json::Reader reader;
|
|
|
Json::Value rootRet;
|
|
|
if (!reader.parse(result.content, rootRet, false))
|
|
@@ -234,51 +243,55 @@ public:
|
|
|
|
|
|
bool InitSender(std::string t_endpoint, std::string t_topic)
|
|
|
{
|
|
|
- auto skyeye_sender = [this, t_endpoint, t_topic] {
|
|
|
- if (m_msgArr.empty())
|
|
|
- return;
|
|
|
- std::vector<Link_private> sendArr;
|
|
|
- m_mtx.lock();
|
|
|
- //max send 12 logs
|
|
|
- for (int i = 0; i < 12; i++)
|
|
|
+ auto skyeye_sender = [this](std::string t_endpoint, std::string t_topic) {
|
|
|
+ while (true)
|
|
|
{
|
|
|
- if (m_msgArr.size() == 0)
|
|
|
- break;
|
|
|
-
|
|
|
- sendArr.emplace_back(m_msgArr.front());
|
|
|
- m_msgArr.pop_front();
|
|
|
+ if (m_msgArr.empty())
|
|
|
+ std::this_thread::sleep_for(std::chrono::seconds(30));//every 30 seconds
|
|
|
+ std::vector<Link_private> sendArr;
|
|
|
+ m_mtx.lock();
|
|
|
+ //max send 12 logs
|
|
|
+ for (int i = 0; i < 12; i++)
|
|
|
+ {
|
|
|
+ if (m_msgArr.size() == 0)
|
|
|
+ break;
|
|
|
+
|
|
|
+ sendArr.emplace_back(m_msgArr.front());
|
|
|
+ m_msgArr.pop_front();
|
|
|
+ }
|
|
|
+ m_mtx.unlock();
|
|
|
+
|
|
|
+ if (sendArr.size() == 0)
|
|
|
+ return; //no need to send
|
|
|
+
|
|
|
+ //generate send str
|
|
|
+ Json::Value root;
|
|
|
+ Json::Value arraylist;//消�列表
|
|
|
+ Json::FastWriter fw;//写入对象
|
|
|
+ for (int i = 0; i < sendArr.size(); i++)
|
|
|
+ {
|
|
|
+ arraylist[i] = convertLinkPrivateToStr(sendArr[i]);
|
|
|
+ }
|
|
|
+ root["message_list"] = arraylist;
|
|
|
+ root["topic"] = t_topic;
|
|
|
+ auto sendStr = fw.write(root);
|
|
|
+
|
|
|
+
|
|
|
+ //send
|
|
|
+ HttpClientResponseResult result;
|
|
|
+ HttpClientRequestConfig config(HttpRequestMethod::POST, t_endpoint, skyeye_GetToken);
|
|
|
+ config.SetTimeout(60);
|
|
|
+
|
|
|
+ config.SetJsonBody(sendStr.c_str());
|
|
|
+
|
|
|
+ RestfulClient client = RestfulClient::getInstance();
|
|
|
+ config.PreDo();
|
|
|
+ client.Do(&config, &result);
|
|
|
}
|
|
|
- m_mtx.unlock();
|
|
|
-
|
|
|
- if (sendArr.size() == 0)
|
|
|
- return; //no need to send
|
|
|
-
|
|
|
- //generate send str
|
|
|
- Json::Value root;
|
|
|
- Json::Value arraylist;//ÏûÏ¢Áбí
|
|
|
- Json::FastWriter fw;//дÈë¶ÔÏó
|
|
|
- for (int i = 0; i < sendArr.size(); i++)
|
|
|
- {
|
|
|
- arraylist[i] = convertLinkPrivateToStr(sendArr[i]);
|
|
|
- }
|
|
|
- root["message_list"] = arraylist;
|
|
|
- root["topic"] = t_topic;
|
|
|
- auto sendStr = fw.write(root);
|
|
|
-
|
|
|
-
|
|
|
- //send
|
|
|
- HttpClientResponseResult result;
|
|
|
- HttpClientRequestConfig config(HttpRequestMethod::POST, t_endpoint,skyeye_GetToken);
|
|
|
- config.SetTimeout(60);
|
|
|
-
|
|
|
- config.SetJsonBody(sendStr.c_str());
|
|
|
-
|
|
|
- RestfulClient client = RestfulClient::getInstance();
|
|
|
- config.PreDo();
|
|
|
- client.Do(&config, &result);
|
|
|
+
|
|
|
};
|
|
|
|
|
|
- std::thread(skyeye_sender).detach();
|
|
|
+ std::thread(skyeye_sender, t_endpoint, t_topic).detach();
|
|
|
}
|
|
|
|
|
|
skyeye_sender()
|
|
@@ -304,7 +317,7 @@ void skyeye_GetToken(char* channelId, char* token, char* terminalno, char* reser
|
|
|
|
|
|
skyeye_logger& skyeye_logger::getDefaultLogger()
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
static skyeye_logger cur;
|
|
|
if (cur.m_msg == nullptr)
|
|
|
cur.m_msg = new Link_private(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM);
|
|
@@ -318,7 +331,7 @@ skyeye_logger& skyeye_logger::getDefaultLogger()
|
|
|
|
|
|
skyeye_logger& skyeye_logger::setLogLevel(LOG_LEVEL_E t_level)
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
if (m_msg != nullptr)
|
|
|
m_msg->Level = t_level;
|
|
|
return *this;
|
|
@@ -326,7 +339,7 @@ skyeye_logger& skyeye_logger::setLogLevel(LOG_LEVEL_E t_level)
|
|
|
|
|
|
skyeye_logger& skyeye_logger::setLogType(LOG_TYPE_E t_type)
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
if (m_msg != nullptr)
|
|
|
m_msg->Type = t_type;
|
|
|
return *this;
|
|
@@ -334,7 +347,7 @@ skyeye_logger& skyeye_logger::setLogType(LOG_TYPE_E t_type)
|
|
|
|
|
|
skyeye_logger& skyeye_logger::setResultCode(std::string t_ResultCode)
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
if (m_msg != nullptr)
|
|
|
m_msg->ResultCode = t_ResultCode;
|
|
|
return *this;
|
|
@@ -342,7 +355,7 @@ skyeye_logger& skyeye_logger::setResultCode(std::string t_ResultCode)
|
|
|
|
|
|
skyeye_logger& skyeye_logger::setTraceID(std::string t_TraceID)
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
if (m_msg != nullptr)
|
|
|
m_msg->TraceID = t_TraceID;
|
|
|
return *this;
|
|
@@ -350,7 +363,7 @@ skyeye_logger& skyeye_logger::setTraceID(std::string t_TraceID)
|
|
|
|
|
|
skyeye_logger& skyeye_logger::setResultMsg(std::string t_ResultMsg)
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
if (m_msg != nullptr)
|
|
|
m_msg->ResultMsg = t_ResultMsg;
|
|
|
return *this;
|
|
@@ -358,7 +371,7 @@ skyeye_logger& skyeye_logger::setResultMsg(std::string t_ResultMsg)
|
|
|
|
|
|
skyeye_logger& skyeye_logger::setLogCode(std::string t_LogCode)
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
if (m_msg != nullptr)
|
|
|
m_msg->LogCode = t_LogCode;
|
|
|
return *this;
|
|
@@ -366,7 +379,7 @@ skyeye_logger& skyeye_logger::setLogCode(std::string t_LogCode)
|
|
|
|
|
|
skyeye_logger& skyeye_logger::setAPI(std::string t_API)
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
if (m_msg != nullptr)
|
|
|
m_msg->API = t_API;
|
|
|
return *this;
|
|
@@ -374,7 +387,7 @@ skyeye_logger& skyeye_logger::setAPI(std::string t_API)
|
|
|
|
|
|
skyeye_logger& skyeye_logger::setBussID(std::string t_BussID)
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
if (m_msg != nullptr)
|
|
|
m_msg->BussID = t_BussID;
|
|
|
return *this;
|
|
@@ -382,7 +395,7 @@ skyeye_logger& skyeye_logger::setBussID(std::string t_BussID)
|
|
|
|
|
|
skyeye_logger& skyeye_logger::setTipMsg(std::string t_TipMsg)
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
if (m_msg != nullptr)
|
|
|
m_msg->TipMsg = t_TipMsg;
|
|
|
return *this;
|
|
@@ -390,7 +403,7 @@ skyeye_logger& skyeye_logger::setTipMsg(std::string t_TipMsg)
|
|
|
|
|
|
skyeye_logger& skyeye_logger::setSourceType(std::string t_SourceType)
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
if (m_msg != nullptr)
|
|
|
m_msg->SourceType = t_SourceType;
|
|
|
return *this;
|
|
@@ -398,7 +411,7 @@ skyeye_logger& skyeye_logger::setSourceType(std::string t_SourceType)
|
|
|
|
|
|
skyeye_logger& skyeye_logger::setBeginTime(long t_BeginTime)
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
if (m_msg != nullptr)
|
|
|
m_msg->BeginTime = t_BeginTime;
|
|
|
return *this;
|
|
@@ -406,7 +419,7 @@ skyeye_logger& skyeye_logger::setBeginTime(long t_BeginTime)
|
|
|
|
|
|
skyeye_logger& skyeye_logger::setEndTime(long t_EndTime)
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
if (m_msg != nullptr)
|
|
|
m_msg->EndTime = t_EndTime;
|
|
|
return *this;
|
|
@@ -414,7 +427,7 @@ skyeye_logger& skyeye_logger::setEndTime(long t_EndTime)
|
|
|
|
|
|
skyeye_logger& skyeye_logger::setCostTime(long t_costTime)
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
if (m_msg != nullptr)
|
|
|
m_msg->CostTime = t_costTime;
|
|
|
return *this;
|
|
@@ -422,7 +435,7 @@ skyeye_logger& skyeye_logger::setCostTime(long t_costTime)
|
|
|
|
|
|
skyeye_logger& skyeye_logger::setVtmCode(std::string t_VtmCode)
|
|
|
{
|
|
|
- // TODO: ÔÚ´Ë´¦²åÈë return Óï¾ä
|
|
|
+ // TODO: 在æ¤å¤„æ�’å…¥ return è¯å�¥
|
|
|
if (m_msg != nullptr)
|
|
|
m_msg->VtmCode = t_VtmCode;
|
|
|
return *this;
|
|
@@ -481,7 +494,7 @@ void CreateDefaultLogger(std::string terminalno, std::string version, std::strin
|
|
|
constParam.m_deployUnitId = SpDefine::deployUnitId;
|
|
|
|
|
|
skyeye_logger::getDefaultLogger().m_constParam = constParam;
|
|
|
- TokenManager::getInstance().InitTokenManager(30, SpDefine::CenterConfigTotal, SpDefine::channelId, SpDefine::tokenSecret, constParam.m_terminalNo, constParam.m_version);
|
|
|
+ TokenManager::getInstance().InitTokenManager(30, SpDefine::CommonLaunchUrl, SpDefine::channelId, SpDefine::tokenSecret, constParam.m_terminalNo, constParam.m_version);
|
|
|
skyeye_sender::getInstance().InitSender(SpDefine::endpoint_env, SpDefine::topicSys);
|
|
|
|
|
|
}
|