ソースを参照

Merge branch 'ST2_0408_cly_fixInstallBug' into compile_upgrade_base230

chenliangyu 1 年間 前
コミット
c45ded2802

+ 1 - 1
CMakeLists.txt

@@ -284,7 +284,7 @@ if(CONAN_CACHE_CLEAR)
 endif(CONAN_CACHE_CLEAR)
 
 if(MSVC)
-conan_cmake_run(REQUIRES RvcFramework/1.2.0.104@LR04.02_FrameworkLib/dev
+conan_cmake_run(REQUIRES RvcFramework/1.2.0.106@LR04.02_FrameworkLib/dev
 	Audio/2024.0118.01@LR04.02_MediaRes/testing
 BASIC_SETUP CMAKE_TARGETS)
 else()

+ 1 - 1
Module/mod_chromium/EntitySessionManager.cpp

@@ -363,7 +363,7 @@ namespace Chromium {
 		if (sessionJson.first)
 		{
 			char sessionJs[10240] = "";
-			sprintf(sessionJs, "{\"messageType\":%d,\"transID\":%d,\"%s\":%s}", 16, transId, PARAMLIST_HEAD, sessionJson.second.c_str());
+			sprintf(sessionJs, "{\"messageType\":%d,\"transID\":%d,\"InitCfg\":%d,\"%s\":%s}", 16, transId, g_hasInitCfg, PARAMLIST_HEAD, sessionJson.second.c_str());
 			return std::make_pair(true, sessionJs);
 		}
 		return std::make_pair(false, "error generateJsonStr");

+ 1 - 0
Module/mod_chromium/baseEx.cpp

@@ -37,6 +37,7 @@ bool g_withMedia = false;
 bool g_withConsole = false;
 bool g_withSpecialTest = false;
 bool g_withLinkLog = false;
+bool g_hasInitCfg = false;
 std::string g_usercodeTranslateFile = "";
 std::map<std::string, std::vector<std::string>> g_networkParse;
 std::map<std::string, clock_t> g_networkExpiredData;

+ 1 - 0
Module/mod_chromium/baseEx.h

@@ -11,6 +11,7 @@ extern bool g_logToFile;
 extern bool g_withMedia;
 extern bool g_withConsole;
 extern bool g_withLinkLog;
+extern bool g_hasInitCfg;
 
 #define DEFAULT_KEY_LEN 256
 

+ 1 - 0
Module/mod_chromium/mod_chromium.cpp

@@ -763,6 +763,7 @@ namespace Chromium {
 		switch (dwUserCode)
 		{
 		case Event_VtmLoader_GetConfig_Suc:
+			g_hasInitCfg = true;
 		case Event_VtmLoader_GetConfig_Fail:
 			refreshLogLevel();//后置后需要刷新log level,因为chromium是先启动的实体
 			startWithCfg();

+ 0 - 1
Module/mod_chromium/mod_chromium.h

@@ -125,7 +125,6 @@ namespace Chromium {
 		bool m_withConsole;
 		bool m_withSpecialTest/*开启一些终端功能的测试*/, m_withLinkLog/*开启链路中的中间链路日志*/;
 		bool m_withMin, m_withClose, m_installMode;
-
 		boost::container::deque<SYS_EVENT_PARAM> m_eventArr;
 		boost::mutex m_eventContorl, m_eventConditionMu; //sysvarEvent变化时阻塞修改
 		boost::condition_variable_any m_eventCondition;//满足有数据时激活线程

+ 15 - 0
Module/mod_guiconsole/guitask.cpp

@@ -30,6 +30,7 @@ void GUITask::InitBack(CEntityBase* pEntity)
 {
 	m_pEntity = pEntity;
 	m_pEntity->GetFunction()->RegistSysVarEvent("UIState", this);
+	m_pEntity->GetFunction()->RegistSysVarEvent("TerminalStage", this);
 }
 
 ErrorCodeEnum GUITask::Kickoff(CEntityBase *pEntity)
@@ -817,6 +818,20 @@ void GUITask::OnSysVarEvent(const char *pszKey,
 			m_pEntity->GetFunction()->UnregistSysVarEvent("UIState");
 		}
 	}
+
+	if ((_strnicmp(pszKey, "TerminalStage", strlen("TerminalStage")) == 0))
+	{
+		if (_strnicmp(pszValue, "N", strlen("N")) == 0)
+		{
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("close start page");
+#if defined(_MSC_VER)
+			if (m_hWndStartPage) {
+				PostMessageA(m_hWndStartPage, WM_CLOSE, -1, -1);
+			}
+#endif //_MSC_VER
+			m_pEntity->GetFunction()->UnregistSysVarEvent("TerminalStage");
+		}
+	}
 }
 
 ErrorCodeEnum GUITask::HideGuiConsole()

+ 65 - 0
Module/mod_vtmloader/VtmLoaderFSM.cpp

@@ -249,6 +249,12 @@ unsigned int CVtmLoaderFSM::s0_on_event(FSMEvent* pEvt)
 			GetEntityBase()->GetFunction()->PostThreadPoolTask(pTask);
 		}
 		break;
+	case USER_EVT_DEALWITH_OLD_EVENT:
+		pEvt->SetHandled();
+		{
+			DealWithOldEvent_Event *evt = dynamic_cast<DealWithOldEvent_Event*>(pEvt);
+		}
+		break;
 	default:
 		break;
 	}
@@ -1838,6 +1844,65 @@ void CVtmLoaderFSM::SaveTerminalNo(SpReqAnsContext<VtmLoaderService_SaveTerminal
 	ErrorCodeEnum eErr = GetEntityBase()->GetFunction()->GetPrivilegeFunction()->WriteTerminalNoToRootIni(ctx->Req.terminalNo);
 	ctx->Answer(eErr);
 }
+
+void CVtmLoaderFSM::DealWithOldEvent(SpReqAnsContext<VtmLoaderService_DealWithOldEvent_Req, VtmLoaderService_DealWithOldEvent_Ans>::Pointer ctx)
+{
+	DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("DealWithOldEvent called, %d, %s, %s, %d, %d",
+		ctx->Req.eventId, ctx->Req.reqStrRev1.GetData(), ctx->Req.reqStrRev2.GetData(), ctx->Req.reqIntRev1, ctx->Req.reqIntRev2);
+	ErrorCodeEnum eErr = ErrorCodeEnum::Error_Succeed;
+	switch (ctx->Req.eventId)
+	{
+	case EVENT_CONSOLE_REQ_SHUTDOWN_SHELL:
+		LogWarn(Severity_Low, Error_Unexpect, 0x50100215, CSimpleStringA::Format("%x", EVENT_CONSOLE_REQ_SHUTDOWN_SHELL));
+		GetEntityBase()->GetFunction()->GetPrivilegeFunction()->Reboot(RebootTriggerEnum::RebootTrigger_Unknown, RebootWayEnum::RebootWay_OS);
+#if defined(RVC_OS_WIN)
+		do
+		{
+			STARTUPINFO si;
+			PROCESS_INFORMATION pi;
+
+			ZeroMemory(&si, sizeof(si));
+			si.cb = sizeof(si);
+			ZeroMemory(&pi, sizeof(pi));
+			GetEntityBase()->GetFunction()->FlushLogFile();
+
+			CSimpleStringA csRestart, csVerPath, csAll, csSep("\""), csBlank(" "), csScript("wscript.exe"), csReFlag("r");
+			csRestart = "sprestart.exe ";
+			ErrorCodeEnum Error = GetEntityBase()->GetFunction()->GetPath("RootVer", csVerPath);
+			//csVerPath +="\\spexplorerfast.vbs";
+			csVerPath += "\\VTM.exe";
+			csReFlag = "n";
+			csAll = csSep + csRestart + csSep + csBlank + csSep + csVerPath + csSep
+				+ csBlank + csSep + csReFlag + csSep;
+			DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM)("allpath[%s]", (LPCTSTR)csAll);
+			LPTSTR szCmdline = _strdup(csAll);
+			if (!CreateProcess(NULL, szCmdline, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
+			{
+				DbgWithLink(LOG_LEVEL_ERROR, LOG_TYPE_SYSTEM)("framework shutdown from console failed, CreateProcess failed (%d).\n", GetLastError());
+				eErr = ErrorCodeEnum::Error_Unexpect;
+				break;
+			}	
+
+			DWORD dwErr = GetLastError();
+			// Wait until child process exits.
+			WaitForSingleObject(pi.hProcess, INFINITE);
+
+
+			// Close process and thread handles. 
+			CloseHandle(pi.hProcess);
+			CloseHandle(pi.hThread);
+		} while (false);
+#endif
+		break;
+	case LOG_EVT_IEBROWSER_RESET_SITE_RESTART:
+		GetEntityBase()->GetFunction()->GetPrivilegeFunction()->Reboot(RebootTriggerEnum::RebootTrigger_Unknown, RebootWayEnum::RebootWay_Framework);
+		break;
+	default:
+		break;
+	}
+	ctx->Answer(eErr);
+}
+
 bool CVtmLoaderFSM::RefreshDeviceConfig(SpReqAnsContext<VtmLoaderService_CheckDeviceEntity_Req, VtmLoaderService_CheckDeviceEntity_Ans>::Pointer ctx)
 {
 	if (ctx->Req.entityName.IsNullOrEmpty() || ctx->Req.paramNum <= 0)

+ 27 - 0
Module/mod_vtmloader/VtmLoaderFSM.h

@@ -17,6 +17,7 @@ enum EvtType
 	USER_EVT_ACCESSAUTH_FINISHED,
 	USER_EVT_CHECK_DEVICE_ENTITY,
 	USER_EVT_SAVE_TERMINALNO,
+	USER_EVT_DEALWITH_OLD_EVENT,
 };
 
 enum LoadStage
@@ -132,6 +133,7 @@ public:
 	void NoticeAppReady(SpReqAnsContext<VtmLoaderService_NoticeAppReady_Req, VtmLoaderService_NoticeAppReady_Ans>::Pointer ctx) { }
 	void CheckDeviceEntity(SpReqAnsContext<VtmLoaderService_CheckDeviceEntity_Req, VtmLoaderService_CheckDeviceEntity_Ans>::Pointer ctx);
 	void SaveTerminalNo(SpReqAnsContext<VtmLoaderService_SaveTerminalNo_Req, VtmLoaderService_SaveTerminalNo_Ans>::Pointer ctx);
+	void DealWithOldEvent(SpReqAnsContext<VtmLoaderService_DealWithOldEvent_Req, VtmLoaderService_DealWithOldEvent_Ans>::Pointer ctx);
 	bool CheckConfigInfoInTestRoom();
 private:
 	void s0_on_entry();
@@ -213,6 +215,20 @@ public:
 			ctx->Answer(Error_InvalidState);
 	}
 };
+
+class DealWithOldEvent_Event : public FSMEvent
+{
+public:
+	DealWithOldEvent_Event() : FSMEvent(USER_EVT_DEALWITH_OLD_EVENT) {}
+	~DealWithOldEvent_Event() {}
+	SpReqAnsContext<VtmLoaderService_DealWithOldEvent_Req, VtmLoaderService_DealWithOldEvent_Ans>::Pointer ctx;
+	virtual void OnUnhandled()
+	{
+		if (ctx != NULL)
+			ctx->Answer(Error_InvalidState);
+	}
+};
+
 struct NetWorkCheckAndGetSettingTask : public ITaskSp
 {
 	CVtmLoaderFSM* fsm;
@@ -267,4 +283,15 @@ struct SaveTerminalNoTask : public ITaskSp
 	{
 		fsm->SaveTerminalNo(ctx);
 	}
+};
+
+struct DealWithOldEvent_Task : public ITaskSp
+{
+	CVtmLoaderFSM* fsm;
+	SpReqAnsContext<VtmLoaderService_DealWithOldEvent_Req, VtmLoaderService_DealWithOldEvent_Ans>::Pointer ctx;
+	DealWithOldEvent_Task(CVtmLoaderFSM* f) : fsm(f) {}
+	void Process()
+	{
+		fsm->DealWithOldEvent(ctx);
+	}
 };

+ 49 - 0
Module/mod_vtmloader/VtmLoader_client_g.h

@@ -255,6 +255,55 @@ public:
 		return Error;
 	}
 
+	ErrorCodeEnum DealWithOldEvent(VtmLoaderService_DealWithOldEvent_Req &Req, CSmartPointer<IAsynWaitSp> &spAsyncWait, DWORD dwTimeout)
+	{
+		CSmartPointer<IClientSessionFunction> pFunc = GetFunction();
+		CAutoBuffer Buf = SpObject2Buffer(Req);
+		if (m_context.checkEmpty())
+		{
+			m_context.AutoGenerate();
+			DbgToBeidou(m_context, m_pEntityBase != NULL ? m_pEntityBase->GetEntityName() : "")();
+			m_context = m_context.upgradeLink();
+		}
+		auto ret = pFunc->AsyncRequest(VtmLoaderService_Method_DealWithOldEvent, VtmLoaderService_MethodSignature_DealWithOldEvent, Buf, spAsyncWait, m_context, dwTimeout);
+		m_context.clear();
+		return ret;
+	}
+	ErrorCodeEnum DealWithOldEvent(VtmLoaderService_DealWithOldEvent_Req &Req, VtmLoaderService_DealWithOldEvent_Ans &Ans, DWORD dwTimeout)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = DealWithOldEvent(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum DealWithOldEvent(VtmLoaderService_DealWithOldEvent_Req &Req, VtmLoaderService_DealWithOldEvent_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError, CSimpleString &str)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = DealWithOldEvent(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+	ErrorCodeEnum DealWithOldEvent(VtmLoaderService_DealWithOldEvent_Req &Req, VtmLoaderService_DealWithOldEvent_Ans &Ans, DWORD dwTimeout, DWORD &dwUserError)
+	{
+		CSmartPointer<IAsynWaitSp> spAsyncWait;
+		ErrorCodeEnum Error = DealWithOldEvent(Req, spAsyncWait, dwTimeout);
+		if (Error == Error_Succeed) {
+			bool bEnd = false;
+			CSimpleString str;
+			Error = SpWaitAnswerObject(spAsyncWait, Ans, bEnd, dwUserError, str, dwTimeout);
+			LOG_ASSERT(Error || bEnd);
+		}
+		return Error;
+	}
+
 
 	bool SafeDelete()
 	{

+ 29 - 0
Module/mod_vtmloader/VtmLoader_def_g.h

@@ -16,16 +16,19 @@ namespace VtmLoader {
 #define VtmLoaderService_Method_NoticeAppReady 2
 #define VtmLoaderService_Method_CheckDeviceEntity 3
 #define VtmLoaderService_Method_SaveTerminalNo 4
+#define VtmLoaderService_Method_DealWithOldEvent 5
 
 #define VtmLoaderService_MethodSignature_SetTerminalNo 616197282
 #define VtmLoaderService_MethodSignature_NoticeAppReady -656753321
 #define VtmLoaderService_MethodSignature_CheckDeviceEntity 217616252
 #define VtmLoaderService_MethodSignature_SaveTerminalNo -1817061577
+#define VtmLoaderService_MethodSignature_DealWithOldEvent -1552130738
 
 #define VtmLoaderService_LogCode_SetTerminalNo "QLR040210F01"
 #define VtmLoaderService_LogCode_NoticeAppReady "QLR040210F02"
 #define VtmLoaderService_LogCode_CheckDeviceEntity "QLR040210F03"
 #define VtmLoaderService_LogCode_SaveTerminalNo "QLR040210F04"
+#define VtmLoaderService_LogCode_DealWithOldEvent "QLR040210F05"
 
 struct VtmLoaderService_SetTerminalNo_Req
 {
@@ -126,6 +129,32 @@ struct VtmLoaderService_SaveTerminalNo_Ans
 
 };
 
+struct VtmLoaderService_DealWithOldEvent_Req
+{
+	int eventId;
+	CSimpleStringA reqStrRev1;
+	CSimpleStringA reqStrRev2;
+	int reqIntRev1;
+	int reqIntRev2;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & eventId & reqStrRev1 & reqStrRev2 & reqIntRev1 & reqIntRev2;
+	}
+
+};
+
+struct VtmLoaderService_DealWithOldEvent_Ans
+{
+	bool isSuccess;
+
+	void Serialize(SpBuffer &Buf)
+	{
+		auto & buf = Buf & isSuccess;
+	}
+
+};
+
 
 ///////////////////////////
 

+ 31 - 0
Module/mod_vtmloader/VtmLoader_server_g.h

@@ -58,6 +58,13 @@ public:
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
+		case VtmLoaderService_Method_DealWithOldEvent:
+			if (dwSignature == VtmLoaderService_MethodSignature_DealWithOldEvent) {
+				bOverlap = true;
+			} else {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
 		default:
 			Error = Error_MethodNotFound;
 			break;
@@ -89,6 +96,11 @@ public:
 				Error = Error_MethodSignatureFailed;
 			}
 			break;
+		case VtmLoaderService_Method_DealWithOldEvent:
+			if (dwSignature != VtmLoaderService_MethodSignature_DealWithOldEvent) {
+				Error = Error_MethodSignatureFailed;
+			}
+			break;
 		default:
 			Error = Error_MethodNotFound;
 			break;
@@ -116,6 +128,11 @@ public:
 	/// override by user
 	}
 
+	virtual void Handle_DealWithOldEvent(SpReqAnsContext<VtmLoaderService_DealWithOldEvent_Req, VtmLoaderService_DealWithOldEvent_Ans>::Pointer ctx)
+	{
+	/// override by user
+	}
+
 	virtual void OnRequest(CSmartPointer<ITransactionContext> pTransactionContext)
 	{
 		CAutoBuffer Buf;
@@ -138,6 +155,7 @@ public:
 						ctx.Attach(new SpReqAnsContext<VtmLoaderService_SetTerminalNo_Req,VtmLoaderService_SetTerminalNo_Ans>(pTransactionContext));
 						SpBuffer2Object(Buf, ctx->Req);
 						pTransactionContext->GetLinkContext(ctx->link);
+						EntityResource::setLink(ctx->link);
 						Handle_SetTerminalNo(ctx);
 					}
 					break;
@@ -147,6 +165,7 @@ public:
 						ctx.Attach(new SpReqAnsContext<VtmLoaderService_NoticeAppReady_Req,VtmLoaderService_NoticeAppReady_Ans>(pTransactionContext));
 						SpBuffer2Object(Buf, ctx->Req);
 						pTransactionContext->GetLinkContext(ctx->link);
+						EntityResource::setLink(ctx->link);
 						Handle_NoticeAppReady(ctx);
 					}
 					break;
@@ -156,6 +175,7 @@ public:
 						ctx.Attach(new SpReqAnsContext<VtmLoaderService_CheckDeviceEntity_Req,VtmLoaderService_CheckDeviceEntity_Ans>(pTransactionContext));
 						SpBuffer2Object(Buf, ctx->Req);
 						pTransactionContext->GetLinkContext(ctx->link);
+						EntityResource::setLink(ctx->link);
 						Handle_CheckDeviceEntity(ctx);
 					}
 					break;
@@ -165,9 +185,20 @@ public:
 						ctx.Attach(new SpReqAnsContext<VtmLoaderService_SaveTerminalNo_Req,VtmLoaderService_SaveTerminalNo_Ans>(pTransactionContext));
 						SpBuffer2Object(Buf, ctx->Req);
 						pTransactionContext->GetLinkContext(ctx->link);
+						EntityResource::setLink(ctx->link);
 						Handle_SaveTerminalNo(ctx);
 					}
 					break;
+				case VtmLoaderService_Method_DealWithOldEvent:
+					{
+						SpReqAnsContext<VtmLoaderService_DealWithOldEvent_Req,VtmLoaderService_DealWithOldEvent_Ans>::Pointer ctx;
+						ctx.Attach(new SpReqAnsContext<VtmLoaderService_DealWithOldEvent_Req,VtmLoaderService_DealWithOldEvent_Ans>(pTransactionContext));
+						SpBuffer2Object(Buf, ctx->Req);
+						pTransactionContext->GetLinkContext(ctx->link);
+						EntityResource::setLink(ctx->link);
+						Handle_DealWithOldEvent(ctx);
+					}
+					break;
 				default:
 					assert(0);
 					break;

+ 6 - 0
Module/mod_vtmloader/mod_vtmloader.cpp

@@ -24,6 +24,12 @@ void VtmLoaderServerSession::Handle_SaveTerminalNo(SpReqAnsContext<VtmLoaderServ
 	m_pEntity->SaveTerminalNo(ctx);
 }
 
+void VtmLoaderServerSession::Handle_DealWithOldEvent(SpReqAnsContext<VtmLoaderService_DealWithOldEvent_Req, VtmLoaderService_DealWithOldEvent_Ans>::Pointer ctx)
+{
+	m_pEntity->DealWithOldEvent(ctx);
+}
+
+
 void CVtmLoaderEntity::OnPreStart(CAutoArray<CSimpleStringA> strArgs,CSmartPointer<ITransactionContext> pTransactionContext) 
 {
 	m_FSM.Init(this);

+ 8 - 0
Module/mod_vtmloader/mod_vtmloader.h

@@ -16,6 +16,7 @@ public:
 	virtual void Handle_NoticeAppReady(SpReqAnsContext<VtmLoaderService_NoticeAppReady_Req, VtmLoaderService_NoticeAppReady_Ans>::Pointer ctx);
 	virtual void Handle_CheckDeviceEntity(SpReqAnsContext<VtmLoaderService_CheckDeviceEntity_Req, VtmLoaderService_CheckDeviceEntity_Ans>::Pointer ctx);
 	virtual void Handle_SaveTerminalNo(SpReqAnsContext<VtmLoaderService_SaveTerminalNo_Req, VtmLoaderService_SaveTerminalNo_Ans>::Pointer ctx);
+	virtual void Handle_DealWithOldEvent(SpReqAnsContext<VtmLoaderService_DealWithOldEvent_Req, VtmLoaderService_DealWithOldEvent_Ans>::Pointer ctx);
 private:
 	CVtmLoaderEntity* m_pEntity;
 };
@@ -59,6 +60,13 @@ public:
 		pEvt->ctx = ctx;
 		m_FSM.PostEventFIFO(pEvt);
 	}
+
+	void DealWithOldEvent(SpReqAnsContext<VtmLoaderService_DealWithOldEvent_Req, VtmLoaderService_DealWithOldEvent_Ans>::Pointer ctx)
+	{
+		DealWithOldEvent_Event* pEvt = new DealWithOldEvent_Event();
+		pEvt->ctx = ctx;
+		m_FSM.PostEventFIFO(pEvt);
+	}
 	
 protected:
 	//GUITask m_task;

+ 13 - 0
Module/mod_vtmloader/vtmloader.xml

@@ -53,6 +53,19 @@
 	  <res>
 		<param name="resReserved1" type="string"/>
 	  </res>	  
+    </twoway>
+	<twoway name="DealWithOldEvent" overlap="true" method_id="5">
+      <req>
+	  <!--terminalNo£ºÖն˺Å-->
+        <param name="eventId" type="int"/>
+		<param name="reqStrRev1" type="string" />
+		<param name="reqStrRev2" type="string" />
+		<param name="reqIntRev1" type="int" />
+		<param name="reqIntRev2" type="int" />
+      </req>
+	  <res>
+		<param name="isSuccess" type="bool"/>
+	  </res>	  
     </twoway>
   </class>
 </entity>

+ 1 - 1
Tool/spgen/Program.cs

@@ -539,7 +539,7 @@ namespace spgen
                 return;
             }
 
-            String shellIniPath = "..\\..\\..\\..\\cfg\\shell.ini";
+            String shellIniPath = "shell.ini";
             if (args.Length == 2)
                 shellIniPath = args[1];
             try

+ 0 - 158
addin/cfg/UserCodeToMsgTip.ini

@@ -1,158 +0,0 @@
-[UserCodeToMsgTip]
-0x10F0020A=[RTA1F21] 打开实体失败,请联系总行开发人员进行排查
-0x10F0020B=[RTA1F22] 连接实体失败,请联系总行开发人员进行排查
-0x10F0020C=[RTA1F23] [HW] 设备打开失败,请检查配置是否正确,模块是否正常
-0x10F0020D=[RTA1F24] 取实体状态失败,请联系总行开发人员进行排查
-0x10F0020E=[RTA1F25] 终止实体失败,请联系总行开发人员进行排查
-
-0x2010020D=[RTA2101] [HWC] 身份证模块未成功连接,请联系厂商排查
-0x20100215=[RTA2102] [HWC] 身份证模块未成功连接,请确认是否已连接蓝牙多合一
-0x20100216=[RTA2103] [HW] 蓝牙多合一断开,请确认蓝牙多合一连接正常后重试
-0x2010021A=[RTA2104] [HW] 读取身份证失败,请联系厂商检查硬件是否正常
-0x2010021B=[RTA2105] [HW] 读证件异常退出,请联系厂商检查硬件是否正常
-
-0x20200006=[RTA2201] [HW] 读卡失败,请拿起卡片重试
-0x2020000D=[RTA2202] [HW] 读卡失败,请拿起卡片重试
-0x20200204=[RTA2203] [HW] 蓝牙多合一初始化失败,请尝试重新绑定
-0x20200208=[RTA2204] [HW] 读取磁道数据长度有误,请确认卡片是否正常或联系厂商检查读卡器
-0x20200229=[RTA2205] [HW] 读卡模块未连上,请检查蓝牙多合一连接或联系厂商排查
-0x2020022A=[RTA2206] [HW] 读卡模块未连上,请检查蓝牙多合一连接或联系厂商排查
-0x2020022F=[RTA2207] [HW] 读取二磁道数据存在非法字符,请联系厂商检查读卡器
-0x20200239=[RTA2208] [HW] 设备离线,请检查设备是否已经连上
-0x2020023A=[RTA2209] [HW] 设备离线,请检查设备是否已经连上
-
-0x2030022E=[RTA2300] [HW] 读/发卡器故障,请稍后重试或联系厂商排查
-0x2030000D=[RTA2302] [HW] 读卡失败,请重试或联系厂商排查
-0x2030002E=[RTA2303] [HW] 卡片从读卡器移回到卡槽失败,请联系卡库厂商排查
-0x2030002F=[RTA2304] [HW] 从卡槽移动卡片到读卡器失败,请联系卡库厂商排查
-0x20300030=[RTA2305] [HW] 读取卡片账户信息失败,请联系卡库厂商排查
-0x20300033=[RTA2306] [HW] 从卡箱移动卡片到读卡器失败,请联系厂商排查
-0x20300034=[RTA2307] [HW] 吞卡失败,请检查吞卡箱是否已满或联系厂商排查
-0x20300035=[RTA2308] [HW] 卡片吐出失败,请联系厂商排查
-0x20300036=[RTA2309] [HW] 从卡箱移动卡片到磁条写卡位置失败,请重试或检查是否有塞卡
-0x20300201=[RTA230A] 未成功建立加密传输通道
-0x20300204=[RTA230B] 未检测到卡箱1,请检测卡箱1是否放好
-0x20300205=[RTA230C] 未检测到卡箱2,请检测卡箱2是否放好
-0x20300206=[RTA230D] 未检测到卡箱3,请检测卡箱3是否放好
-0x20300207=[RTA230E] 卡箱1未检测到卡片,请检测卡箱1中卡片是否放好或卡片余量过低
-0x20300208=[RTA230F] 卡箱2未检测到卡片,请检测卡箱2中卡片是否放好或卡片余量过低
-0x20300209=[RTA230G] 卡箱3未检测到卡片,请检测卡箱3中卡片是否放好或卡片余量过低
-0x20300210=[RTA2314] 卡库有旧的盘库记录,不允许开始新的盘库
-0x20300212=[RTA2315] 卡库无本地盘库记录,请退出后重试
-0x2030020A=[RTA230H] 卡箱1本地计数无卡,请执行清机计划
-0x2030020B=[RTA230J] 卡箱2本地计数无卡,请执行清机计划
-0x2030020C=[RTA230K] 卡箱3本地计数无卡,请执行清机计划
-0x2030020E=[RTA2301] 卡片吐出失败,请确认卡片是否平整,联系厂商排查
-0x2030020F=[RTA230L] 卡库找不到空闲卡槽,请联系卡库厂商排查
-0x20300243=[RTA230M] [HW] 检测卡片类型时上电失败,请使用非接触式读卡模块
-0x20300270=[RTA230N] 便携发卡机编号无效
-0x20300272=[RTA230P] 便携发卡机编号无效
-0x2030029A=[RTA230Q] 卡库正在使用中,请确认卡库空闲后重试
-0x2030029B=[RTA230R] 卡箱1连续吞卡超限,请及时执行清机。清机后依然连续吞卡请确认卡片摆放是否正确或联系厂商排查
-0x2030029C=[RTA230S] 卡箱2连续吞卡超限,请及时执行清机。清机后依然连续吞卡请确认卡片摆放是否正确或联系厂商排查
-0x2030029D=[RTA230T] 卡箱3连续吞卡超限,请及时执行清机。清机后依然连续吞卡请确认卡片摆放是否正确或联系厂商排查
-0x2030029E=[RTA230Z] 登记吞卡信息到后台失败
-0x2030029F=[RTA230U] [SS] 跨机激活未收到返回,请联系行内开发人员排查
-0x203002A1=[RTA230V] [HW] 读卡失败(卡片上电),请重试或联系厂商排查
-0x203002A2=[RTA230X] 请使用换卡后的新卡办理业务
-0x203002A5=[RTA230Y] 卡库未正常启动,请确认卡库启动完成之后再发起业务
-0x203002A3=[RTA230W] [HW] 跨机时卡库处理耗时过长,请联系卡库厂商排查
-0x20300269=[RTA2311] [HW] 发卡模块未成功启动,请联系卡库厂商排查
-0x203002C8=[RTA2316] [HW] 卡库盘库失败,卡槽移卡失败,请联系厂商排查
-0x203002C9=[RTA2317] [HW] 卡库盘库失败,读卡失败吞卡,请联系厂商排查
-0x203002CA=[RTA2318] [HW] 卡库盘库失败,卡移回卡槽失败,请联系厂商排查
-
-0x20300032=[RTA2320] [HW] 查询卡槽状态失败,请联系卡库厂商排查
-0x20300002=[RTA2322] [HW] 取卡机状态失败,请重试或联系厂商排查
-0x20300203=[RTA2323] [HW] 发卡模块故障,请联系卡库厂商排查
-0x203002A7=[RTA2324] 卡库正在发卡或加卡,请在卡库空闲后重试
-0x2030003B=[RTA2325] [HW] 卡面印刷失败,请联系厂商排查
-0x2030027A=[RTA2326] [HW] 卡片上电失败(接触/非接),请检查卡片是否异常或联系厂商排查
-0x2030027B=[RTA2327] [HW] 卡片上电失败(接触/非接),请检查卡片是否异常或联系厂商排查
-
-0x203002B4=[RTA2380] 卡箱无卡,请确认卡箱有无卡片或卡片是否放好
-0x203002B5=[RTA2381] 未检测到卡箱,请确认卡箱是否放好
-0x203002B6=[RTA2382] [HW] 传输小车堵塞,请联系厂商排查
-0x203002B7=[RTA2383] 回收箱已满,请联系行内工作人员及时清理回收箱
-0x203002B8=[RTA2384] 回收箱缺失,请检查回收箱是否放好
-0x203002B9=[RTA2385] 读卡器内有卡,请联系厂商排查
-0x203002BA=[RTA2386] 卡槽内无卡,请联系厂商排查
-0x203002BB=[RTA2387] 卡槽内有卡,请联系厂商排查
-0x203002BC=[RTA2388] 读卡器内无卡,请联系厂商排查
-0x203002BD=[RTA2389] [HW] 塞卡,请联系厂商排查
-0x203002BE=[RTA238A] [HW] 卡槽堵塞,请联系厂商排查
-0x203002BF=[RTA238B] 卡槽地址非法,请联系行内开发人员排查
-
-0x203002E0=[RTA2390] 在卡库指定卡槽未找到卡片,请联系行内开发人员排查
-0x203002E1=[RTA2391] [HW] 卡库读卡失败(卡片上电时触点下压失败),请联系卡库厂商排查或更换
-0x203002E2=[RTA2392] [HW] 卡库读卡失败(卡片上电失败),请联系卡库厂商排查或更换
-0x203002E3=[RTA2393] [HW] 卡库读卡失败(BuildAppList.ICCommand),请联系卡库厂商排查或更换
-0x203002E4=[RTA2394] [HW] 卡库读卡失败(BuildAppList),请联系卡库厂商排查或更换
-0x203002E5=[RTA2395] [HW] 卡库读卡失败(ICCommand),请联系卡库厂商排查或更换
-
-0x2060021B=[RTA2607] 获取账号失败(参数错误),请联系行内开发人员排查
-0x20600003=[RTA2608] [HW] 设置账号失败,请联系厂商排查
-0x20600007=[RTA2609] [HW] 开启密文输入失败,请联系厂商排查
-0x2060000A=[RTA260A] [HW] 计算密文(GetPinBlock)输入失败,请联系厂商排查
-0x20600002=[RTA260B] [HW] 设置密码键盘参数失败,请联系厂商排查
-0x20600006=[RTA260C] [HW] 激活工作密钥失败,请联系厂商排查
-0x2060000B=[RTA260D] [HW] 加密数据失败失败,请联系厂商排查
-0x2060021C=[RTA260E] [HWC] 密码键盘未成功打开,请联系厂商排查
-0x20600221=[RTA260F] 密码输入时收到退出事件,请重试
-0x20600202=[RTA2610] 打开运行时文件失败,请联系行内开发人员排查
-0x20600222=[RTA2611] 不能识别的密钥标识,请联系行内开发人员排查
-0x20600224=[RTA2612] 不支持明文输入获取,请联系行内开发人员排查
-
-0x2180000D=[RTA2O01] 连接高拍仪实体模块失败,请尝试重启应用或联系厂商排查
-0x2180000E=[RTA2O02] 操作频繁,请稍候重试
-0x2180000F=[RTA2O03] 绑定摄像头失败,请检查摄像头是否可用或是否被占用
-
-0x21700001=[RTA2N01] [HW] 高拍仪硬件打开失败,请尝试重启应用或联系厂商排查
-0x21700002=[RTA2N02] [HW] 高拍仪参数设置请求失败,请尝试重启应用或联系厂商排查
-0x21700003=[RTA2N03] [HW] 高拍仪预览请求失败,请尝试重启应用或联系厂商排查
-0x21700004=[RTA2N04] [HW] 高拍仪关闭预览失败,请尝试重启应用或联系厂商排查
-0x21700005=[RTA2N05] [HW] 高拍仪拍摄照片失败,请尝试重启应用或联系厂商排查
-0x21700006=[RTA2N06] [HW] 高拍仪拍摄照片失败,请尝试重启应用或联系厂商排查
-0x21700007=[RTA2N07] [HW] 高拍仪设置预览窗口失败,请尝试重启应用或联系厂商排查
-0x21700008=[RTA2N08] [HW] 高拍仪设置属性失败,请尝试重启应用或联系厂商排查
-0x21700009=[RTA2N09] [HW] 获取高拍仪状态信息失败,请尝试重启应用或联系厂商排查
-0x2170000A=[RTA2N0A] 获取高拍仪类型数据失败,请尝试重启应用或联系厂商排查
-0x2170000B=[RTA2N0B] [HW] 高拍仪重置失败,请尝试重启应用或联系厂商排查
-0x2170000C=[RTA2N0C] [HW] 关闭高拍仪设备失败,请尝试重启应用或联系厂商排查
-0x21700201=[RTA2N0D] 提取拍摄照片失败,请尝试重启应用或联系厂商排查
-0x21700202=[RTA2N0E] 创建适配器对象失败,请重启应用尝试
-0x21700203=[RTA2N0F] 高拍仪加载失败,请联系厂商排查
-0x21700209=[RTA2N0G] 高拍仪模块异常,请重试或联系行内开发人员排查
-0x2170020A=[RTA2N0H] 高拍仪获取硬件配置失败,请联系厂商配置
-0x2170020B=[RTA2N0J] 高拍仪驱动未配置,请联系厂商配置
-0x2170020C=[RTA2N0K] [HW] 高拍仪断开连接,请尝试重启应用或联系厂商排查
-0x2170020D=[RTA2N0L] 高拍仪删除本地图片失败,请重试或联系厂商排查
-0x2170020E=[RTA2N0M] 不支持的请求操作
-
-0x21B0020A=[RTA2R01] [SS] 心跳服务超时未返回,请联系行内开发人员排查
-0x21B00208=[RTA2R02] [HWC] 卡机模块异常,请联系厂商排查
-
-0x21C00001=[RTA2S01] 打开摄像头失败,请尝试重启应用或联系厂商排查
-0x21C00002=[RTA2S02] 摄像头请求预览失败,请尝试重启应用或联系厂商排查
-0x21C00003=[RTA2S03] 摄像头关闭预览失败,请尝试重启应用或联系厂商排查
-0x21C00004=[RTA2S04] 摄像头预览异常,请尝试重启应用或联系厂商排查
-0x21C00005=[RTA2S05] 摄像头拍照失败,请尝试重启应用或联系厂商排查
-0x21C00006=[RTA2S06] 摄像头拍照失败,请尝试重启应用或联系厂商排查
-0x21C00007=[RTA2S07] 重置摄像头失败,请尝试重启应用或联系厂商排查
-0x21C00008=[RTA2S08] 获取照片存储路径失败,请重试或联系行内开发人员排查
-0x21C00009=[RTA2S09] 读取照片失败,请重试或联系行内开发人员排查
-0x21C0000A=[RTA2S0A] 摄像头读取照片异常,请重试或联系行内开发人员排查
-0x21C00201=[RTA2S0B] 摄像头不可用,请联系分行IT排查
-0x21C00204=[RTA2S0C] 摄像头正忙,请稍候重试
-0x21C00205=[RTA2S0D] 摄像头正忙,请稍候重试
-0x21C00206=[RTA2S0E] 摄像头程序异常,请尝试重启应用或联系行内开发人员排查
-0x21C00207=[RTA2S0F] 摄像头不可用,请联系分行IT排查
-0x21C00208=[RTA2S0G] 指定的摄像头名称不存在,请联系厂商排查
-0x21C00209=[RTA2S0H] 拍摄模块异常,请重试或联系行内开发人员排查
-0x21C0020A=[RTA2S0J] 摄像头未绑定,请退出重试
-0x21C0020B=[RTA2S0K] 摄像头不可用,请联系分行IT排查
-0x21C0020C=[RTA2S0L] 打开摄像头失败,请尝试重启应用或联系厂商排查
-0x21C0020D=[RTA2S0M] 上一次打开摄像头的操作还未完成,当前打开摄像头的请求已拒绝,请稍后再试
-
-0x30B00B01=[RTA3B01] 检测到系统故障,尝试恢复中,请稍后再试
-0x30B00B02=[RTA3B02] 播放失败,找不到要播放的文件