|
|
@@ -78,7 +78,7 @@ namespace Chromium {
|
|
|
CChromiumEntity::CChromiumEntity() :m_pWsServer(NULL), m_iTcpBridgePort(4504), m_pTimerListener(NULL), m_strCustomMainUrl(true)
|
|
|
, m_runAd(false), m_runMain(false), m_runExtend(false), m_runLogin(false), m_withBrowser(false), m_withMin(false), m_withClose(false)
|
|
|
, m_withDebugMode(false), m_withMagic(false), m_withNoFileLog(false), m_installMode(false), m_withMedia(false), m_withSpecialTest(false), m_withConsole(false),
|
|
|
- m_withLinkLog(false)
|
|
|
+ m_withLinkLog(false), m_withUnsafeAd(false)
|
|
|
{
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("CChromiumEntity constructor");
|
|
|
|
|
|
@@ -376,6 +376,8 @@ namespace Chromium {
|
|
|
m_withMagic = true;
|
|
|
else if (!trimStr.Compare("with_media", true))//the browser will support media play and RTC function
|
|
|
m_withMedia = true;
|
|
|
+ else if (!trimStr.Compare("with_unsafe_ad", true))
|
|
|
+ m_withUnsafeAd = g_unsafeAd = true;
|
|
|
else if (!trimStr.Compare("with_specialTest", true))//chromium will run specical test
|
|
|
m_withSpecialTest = true;
|
|
|
else if (!trimStr.Compare("with_LinkLog", true))//control do_sendJson to print more logs(request)
|
|
|
@@ -747,6 +749,10 @@ namespace Chromium {
|
|
|
auto srcPids = getUosBrowserPIDs(CModTools::get_mutable_instance().getUosBrowser());
|
|
|
#endif // RVC_OS_LINUX
|
|
|
startWithCfg();//it will open install page
|
|
|
+
|
|
|
+ std::this_thread::sleep_for(std::chrono::seconds(3));
|
|
|
+ LogWarn(Severity_Low, Error_Debug, LOG_SLV_CHROMIUM_URLOPEN, "正在启动业务界面");
|
|
|
+
|
|
|
#if defined(RVC_OS_LINUX)
|
|
|
for (auto it : srcPids)
|
|
|
{
|
|
|
@@ -822,7 +828,6 @@ namespace Chromium {
|
|
|
boost::this_thread::sleep_for(boost::chrono::microseconds(100));
|
|
|
continue;
|
|
|
}
|
|
|
-
|
|
|
m_eventContorl.lock();
|
|
|
SYS_EVENT_PARAM curEvent = m_eventArr.front();
|
|
|
m_eventArr.pop_front();
|
|
|
@@ -848,72 +853,96 @@ namespace Chromium {
|
|
|
{
|
|
|
if (0 == CSimpleStringA("A").Compare(curEvent.value.c_str(), true))
|
|
|
{
|
|
|
- if (CModTools::get_mutable_instance().IsConfigWork())//url正常时才关闭
|
|
|
+ try
|
|
|
{
|
|
|
+ if (CModTools::get_mutable_instance().IsConfigWork())//url正常时才关闭
|
|
|
+ {
|
|
|
#if defined(RVC_OS_LINUX)
|
|
|
- auto srcPids = getUosBrowserPIDs(CModTools::get_mutable_instance().getUosBrowser());
|
|
|
+ auto srcPids = getUosBrowserPIDs(CModTools::get_mutable_instance().getUosBrowser());
|
|
|
#endif // RVC_OS_UOS
|
|
|
-
|
|
|
- if (m_runAd) openAdPage();
|
|
|
- openMainPage();
|
|
|
- CModTools::get_mutable_instance().StopChromiumBrowser(ERR_PAGE_REASON::breakdown);
|
|
|
+
|
|
|
+ if (m_runAd) openAdPage();
|
|
|
+ openMainPage();
|
|
|
+ CModTools::get_mutable_instance().StopChromiumBrowser(ERR_PAGE_REASON::breakdown);
|
|
|
+
|
|
|
+ std::this_thread::sleep_for(std::chrono::seconds(3));
|
|
|
+ LogWarn(Severity_Low, Error_Debug, LOG_SLV_CHROMIUM_URLOPEN, "正在启动业务界面");
|
|
|
|
|
|
#if defined(RVC_OS_LINUX)
|
|
|
- for (auto it : srcPids)
|
|
|
- {
|
|
|
- CSimpleStringA cmd = CSimpleStringA::Format("sudo kill -9 %d", it);
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("CloseCommonPage %s", cmd.GetData());
|
|
|
- system(cmd.GetData());
|
|
|
- }
|
|
|
+ for (auto it : srcPids)
|
|
|
+ {
|
|
|
+ CSimpleStringA cmd = CSimpleStringA::Format("sudo kill -9 %d", it);
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("CloseCommonPage %s", cmd.GetData());
|
|
|
+ system(cmd.GetData());
|
|
|
+ }
|
|
|
#else
|
|
|
- CModTools::get_mutable_instance().StopChromiumBrowser(ERR_PAGE_REASON::startup);
|
|
|
+ CModTools::get_mutable_instance().StopChromiumBrowser(ERR_PAGE_REASON::startup);
|
|
|
#endif
|
|
|
-
|
|
|
- //DbgEx("UnregistSysVarEvent TerminalStage %s", Error_Succeed == GetFunction()->UnregistSysVarEvent("TerminalStage") ? "success" : "fail");
|
|
|
- }
|
|
|
+
|
|
|
+ //DbgEx("UnregistSysVarEvent TerminalStage %s", Error_Succeed == GetFunction()->UnregistSysVarEvent("TerminalStage") ? "success" : "fail");
|
|
|
}
|
|
|
+ }
|
|
|
+ catch (const std::exception& e)
|
|
|
+ {
|
|
|
+ DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("TerminalStage:A run exception, %s", e.what());
|
|
|
+ }
|
|
|
+ }
|
|
|
else if (0 == CSimpleStringA("X").Compare(curEvent.value.c_str(), true))
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("TerminalStage X, do nothing.");
|
|
|
else
|
|
|
{
|
|
|
- if (!m_withBrowser)
|
|
|
+ try
|
|
|
{
|
|
|
+ if (!m_withBrowser)
|
|
|
+ {
|
|
|
#if defined(RVC_OS_LINUX)
|
|
|
- auto srcPids = getUosBrowserPIDs(CModTools::get_mutable_instance().getUosBrowser());
|
|
|
+ auto srcPids = getUosBrowserPIDs(CModTools::get_mutable_instance().getUosBrowser());
|
|
|
#endif // RVC_OS_UOS
|
|
|
|
|
|
|
|
|
#if defined(RVC_OS_LINUX)
|
|
|
- for (auto it : srcPids)
|
|
|
- {
|
|
|
- CSimpleStringA cmd = CSimpleStringA::Format("sudo kill -9 %d", it);
|
|
|
- DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("CloseCommonPage %s", cmd.GetData());
|
|
|
- system(cmd.GetData());
|
|
|
- }
|
|
|
+ for (auto it : srcPids)
|
|
|
+ {
|
|
|
+ CSimpleStringA cmd = CSimpleStringA::Format("sudo kill -9 %d", it);
|
|
|
+ DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("CloseCommonPage %s", cmd.GetData());
|
|
|
+ system(cmd.GetData());
|
|
|
+ }
|
|
|
#else
|
|
|
- CModTools::get_mutable_instance().StopChromiumBrowser(ERR_PAGE_REASON::startup);
|
|
|
+ CModTools::get_mutable_instance().StopChromiumBrowser(ERR_PAGE_REASON::startup);
|
|
|
#endif
|
|
|
-
|
|
|
- auto openRet = CModTools::get_mutable_instance().StartChromiumBrowser(
|
|
|
- 0 == CSimpleStringA("S").Compare(curEvent.value.c_str(), true) ? ERR_PAGE_REASON::warnPrompt : ERR_PAGE_REASON::breakdown,
|
|
|
- std::tuple < std::string, std::string>(m_sysInfo.strTerminalID.GetData(), generateTimeStr()));
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("access failed, open err page %s, %d", Error_Succeed == openRet.first ? "success" : "fail", openRet.second);
|
|
|
- CModTools::get_mutable_instance().StopChromiumBrowser(ERR_PAGE_REASON::main);
|
|
|
+
|
|
|
+ auto openRet = CModTools::get_mutable_instance().StartChromiumBrowser(
|
|
|
+ 0 == CSimpleStringA("S").Compare(curEvent.value.c_str(), true) ? ERR_PAGE_REASON::warnPrompt : ERR_PAGE_REASON::breakdown,
|
|
|
+ std::tuple < std::string, std::string>(m_sysInfo.strTerminalID.GetData(), generateTimeStr()));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("access failed, open err page %s, %d", Error_Succeed == openRet.first ? "success" : "fail", openRet.second);
|
|
|
+ CModTools::get_mutable_instance().StopChromiumBrowser(ERR_PAGE_REASON::main);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ catch (const std::exception& e)
|
|
|
+ {
|
|
|
+ DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("TerminalStage:other run exception, %s", e.what());
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
else if (0 == CSimpleStringA("CardStoreInUse").Compare(curEvent.key.c_str(), true) && CheckIsCardStore())
|
|
|
{
|
|
|
- if (0 == CSimpleStringA("Y").Compare(curEvent.value.c_str(), true))
|
|
|
+ try
|
|
|
{
|
|
|
- auto openRet = CModTools::get_mutable_instance().StartChromiumBrowser(ERR_PAGE_REASON::CardStoreIsBusy,
|
|
|
- std::tuple <std::string, std::string>(m_sysInfo.strTerminalID.GetData(), generateTimeStr()));
|
|
|
- DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("CardStoreIsBusy, open page CardStoreIsBusy %s, %d", Error_Succeed == openRet.first ? "success" : "fail", openRet.second);
|
|
|
+ if (0 == CSimpleStringA("Y").Compare(curEvent.value.c_str(), true))
|
|
|
+ {
|
|
|
+ auto openRet = CModTools::get_mutable_instance().StartChromiumBrowser(ERR_PAGE_REASON::CardStoreIsBusy,
|
|
|
+ std::tuple <std::string, std::string>(m_sysInfo.strTerminalID.GetData(), generateTimeStr()));
|
|
|
+ DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("CardStoreIsBusy, open page CardStoreIsBusy %s, %d", Error_Succeed == openRet.first ? "success" : "fail", openRet.second);
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ CModTools::get_mutable_instance().StopChromiumBrowser_security(ERR_PAGE_REASON::CardStoreIsBusy, 2);
|
|
|
+ }
|
|
|
}
|
|
|
- else
|
|
|
+ catch (const std::exception& e)
|
|
|
{
|
|
|
- CModTools::get_mutable_instance().StopChromiumBrowser_security(ERR_PAGE_REASON::CardStoreIsBusy, 2);
|
|
|
+ DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("CardStoreInUse run exception, %s", e.what());
|
|
|
}
|
|
|
}
|
|
|
}
|