/* eslint-disable */ var JIT_GW_ExtInterface = function(){ var currentSessionWSURL = ""; var useActioveX = false; var useNPPlugin = false; /** * simple polyfill Object.assign for IE <= 11 * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign * @param {Object} target - target options * @param {Object} options - new options */ var extendOptions = function (target, options) { if (typeof Object.assign === 'function') { Object.assign(target, options) } else { // for IE < 11 for (var key in options) { target[key] = options[key] } } } var options = {}; var checkSessionWSURL = function () { if( currentSessionWSURL=="" ) { if ("https:" == document.location.protocol) { currentSessionWSURL = SendAndWaitMessage("https://127.0.0.1:10087/", "QueryService"); } else { currentSessionWSURL = SendAndWaitMessage("http://127.0.0.1:10086/", "QueryService"); } } } // 是否是IE var isUseActioveX = function () { if (!!window.ActiveXObject || "ActiveXObject" in window) { //try //{ // var ax = new ActiveXObject("PNXClient.PNXDataTrans"); // useActioveX = true; //} //catch(e) //{ // useActioveX = false; //} useActioveX = true; } else { useActioveX = false; } } // 是否使用NPPlugin var isUseNPPlugin = function() { checkSessionWSURL(); if ("{\"value\":\"\"}" == currentSessionWSURL) { useNPPlugin = true; } else { useNPPlugin = false; } } var addActioveX = function(){ document.write("<object classid='clsid:9DD991F7-6FB0-4004-95A4-0A55006A8C42' width='0' height='0' id='PNXGWClient'></object>"); } var addNPPlugin = function(){ document.write("<embed type='application/x-jit-auth-plugin' id='PNXGWClient' width='0' height='0'></embed>"); } var SendAndWaitMessageEx = function (operatorCmd, sendMsg) { checkSessionWSURL(); var strSendMsg = operatorCmd + ":" + sendMsg; return SendAndWaitMessage(currentSessionWSURL, strSendMsg); } var SendAndWaitMessage = function (wsurl, sendMsg) { var ResultMsg = "{\"value\":\"\"}"; if( ResultMsg == wsurl ) { return ; } try{ var globalXmlHttpRequest = new XMLHttpRequest(); globalXmlHttpRequest.open("POST", wsurl, false); globalXmlHttpRequest.setRequestHeader("Content-Type", "text/plain;charset=UTF-8"); globalXmlHttpRequest.send(sendMsg); ResultMsg = globalXmlHttpRequest.responseText; }catch(e){ currentSessionWSURL = ""; if (options.onError) { options.onError.call(undefined, e); } } return ResultMsg; } return { Config: function(extendOption) { if (extendOption && typeof extendOption === 'object') { extendOptions(options, extendOption) } }, Init: function() { isUseActioveX(); if (useActioveX) { addActioveX(); } else { isUseNPPlugin(); if (useNPPlugin){ addNPPlugin(); } } }, // 功能:返回客户端的版本 HRESULT GetClientVersion([out,retval] BSTR* bstrClientVersion); GetClientVersion: function() { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetClientVersion(); } else { var result = JSON.parse(SendAndWaitMessageEx("GetClientVersion", "")); return result.value; } }, // 功能:下载客户端程序并安装 HRESULT SetupClient([in] BSTR strURL, [in] BSTR strHashValue, [in] BOOL bSync, [in] BOOL bOnlySSO, [out,retval] LONG* lRetVal); SetupClient: function (bstrURL, bstrHashValue, bSync, bOnlySSO) { if( useActioveX || useNPPlugin ) { return PNXGWClient.SetupClient(bstrURL, bstrHashValue, bSync, bOnlySSO); } else { var jsonstr = {"strURL":bstrURL,"strHashValue":bstrHashValue,"bSync":bSync,"bOnlySSO":bOnlySSO}; var result = JSON.parse(SendAndWaitMessageEx("SetupClient", JSON.stringify(jsonstr))); return result.value; } }, // 功能:获取硬件指纹信息 HRESULT GetFinger([in] ULONG dwSign, [in] BSTR strGateWayIP, [out,retval] BSTR* bstrFinger); GetFinger: function (dwSign, strGateWayIP) { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetFinger(dwSign, strGateWayIP); } else { var jsonstr = {"dwSign":dwSign, "strGateWayIP":strGateWayIP}; var result = JSON.parse(SendAndWaitMessageEx("GetFinger", JSON.stringify(jsonstr))); return result.value; } }, // 功能:设置转发策略和代填策略 HRESULT SetPolicy([in] BSTR strProxyPolicy, [in] BSTR strSSOPolicy, [in] BSTR strGatewayAddress, [out,retval] LONG* lRetVal); SetPolicy:function (strProxyPolicy, strSSOPolicy, strGatewayAddress) { if( useActioveX || useNPPlugin ) { return PNXGWClient.SetPolicy(strProxyPolicy, strSSOPolicy, strGatewayAddress); } else { var jsonstr = {"strProxyPolicy":strProxyPolicy, "strSSOPolicy":strSSOPolicy, "strGatewayAddress":strGatewayAddress}; var result = JSON.parse(SendAndWaitMessageEx("SetPolicy", JSON.stringify(jsonstr))); return result.value; } }, // 功能:启动认证信息模块 HRESULT GetAuthToken([in] BSTR strFileName,[in] BSTR strXmlData,[out,retval] BSTR* bstrInfo); GetAuthToken: function (strFileName, strXmlData) { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetAuthToken(strFileName, strXmlData); } else { var jsonstr = {"strFileName":strFileName, "strXmlData":strXmlData}; var result = JSON.parse(SendAndWaitMessageEx("GetAuthToken", JSON.stringify(jsonstr))); return result.value; } }, // 功能:打开BS应用 HRESULT NavigateURL([in] BSTR strUrl, [out,retval] LONG* lRetVal); NavigateURL: function (strUrl) { if( useActioveX || useNPPlugin ) { return PNXGWClient.NavigateURL(strUrl); } else { var jsonstr = {"strUrl":strUrl}; var result = JSON.parse(SendAndWaitMessageEx("NavigateURL", JSON.stringify(jsonstr))); return result.value; } }, // 功能:打开CS应用 HRESULT ExecuteCS([in] BSTR strGatewayAddress, [in] BSTR strAppFlag, [in] BSTR strAppPath, [out,retval] LONG* lRetVal); ExecuteCS: function (strGatewayAddress, strAppFlag, strAppPath) { if( useActioveX || useNPPlugin ) { return PNXGWClient.ExecuteCS(strGatewayAddress, strAppFlag, strAppPath); } else { var jsonstr = {"strGatewayAddress":strGatewayAddress, "strAppFlag":strAppFlag, "strAppPath":strAppPath}; var result = JSON.parse(SendAndWaitMessageEx("ExecuteCS", JSON.stringify(jsonstr))); return result.value; } }, // 功能:设置自动更新策略 HRESULT SetUpdatePolicy([in] BSTR strGatewayAddress, [in] SHORT nGatewayPort, [in] BSTR strUserToken, [in] ULONG ulUpdateDelay, [out, retval] LONG* lRetVal); SetUpdatePolicy: function (strGatewayAddress, nGatewayPort, strUserToken, updatedelay) { if( useActioveX || useNPPlugin ) { return PNXGWClient.SetUpdatePolicy(strGatewayAddress, nGatewayPort, strUserToken, updatedelay); } else { var jsonstr = {"strGatewayAddress":strGatewayAddress, "nGatewayPort":nGatewayPort, "strUserToken":strUserToken, "ulUpdateDelay":updatedelay}; var result = JSON.parse(SendAndWaitMessageEx("SetUpdatePolicy", JSON.stringify(jsonstr))); return result.value; } }, // 功能:获取客户端IP HRESULT GetClientIP([in] BSTR strGatewayIP, [out, retval] BSTR* RetVal); GetClientIP: function (strGatewayIP) { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetClientIP(strGatewayIP); } else { var jsonstr = {"strGatewayIP":strGatewayIP}; var result = JSON.parse(SendAndWaitMessageEx("GetClientIP", JSON.stringify(jsonstr))); return result.value; } }, // 功能:登出网关 HRESULT GWLogout([in] BSTR strServerIP, [out, retval] LONG* lRetVal); GWLogout: function (strServerIP) { if( useActioveX || useNPPlugin ) { return PNXGWClient.GWLogout(strServerIP); } else { var jsonstr = {"strServerIP":strServerIP}; var result = JSON.parse(SendAndWaitMessageEx("GWLogout", JSON.stringify(jsonstr))); return result.value; } }, // 功能:运行安装包: 0 非静默安装,1 静默安装,2 同步安装,4 异步安装 HRESULT RunSetup([in] LONG lRunType, [in] BOOL bIsOnlySSO, [out, retval] LONG* lRetVal); RunSetup: function (lRunType, bIsOnlySSO) { if( useActioveX || useNPPlugin ) { return PNXGWClient.RunSetup(lRunType, bIsOnlySSO); } else { var jsonstr = {"lRunType":lRunType, "bIsOnlySSO":bIsOnlySSO}; var result = JSON.parse(SendAndWaitMessageEx("RunSetup", JSON.stringify(jsonstr))); return result.value; } }, // 功能:获取下载进度 HRESULT GetDownloadProgress([out, retval] LONG* lRetVal); GetDownloadProgress: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetDownloadProgress(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("GetDownloadProgress", jsonstr)); return result.value; } }, // 功能:是否安装完成 HRESULT IsInstallComplete([out, retval] BOOL* lRetVal); IsInstallComplete: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.IsInstallComplete(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("IsInstallComplete", jsonstr)); return result.value; } }, // 功能:初始化签包对象 HRESULT Initialize([in] BSTR strAlgType, [in] BSTR strAuxParam, [out,retval] LONG* Result); Initialize: function (strAlgType, strAuxParam) { if(useActioveX|| useNPPlugin ) { return PNXGWClient.Initialize(strAlgType, strAuxParam); } else { var jsonstr = { "strAlgType":strAlgType, "strAuxParam":strAuxParam }; var result = JSON.parse(SendAndWaitMessageEx("Initialize", JSON.stringify(jsonstr))); return result.value; } }, // 功能:设置摘要算法 HRESULT SetDigestAlg([in] BSTR strDigestAlg, [out,retval] LONG* Result); SetDigestAlg: function (strDigestAlg) { if( useActioveX || useNPPlugin ) { return PNXGWClient.SetDigestAlg(strDigestAlg); } else { var jsonstr = {"strDigestAlg":strDigestAlg}; var result = JSON.parse(SendAndWaitMessageEx("SetDigestAlg", JSON.stringify(jsonstr))); return result.value; } }, // 功能:设置单证书是否弹出对话框 HRESULT SetChooseSingleCert([in] ULONG isChoose, [out,retval] LONG* Result); SetChooseSingleCert: function (isChoose) { if( useActioveX || useNPPlugin ) { return PNXGWClient.SetChooseSingleCert(isChoose); } else { var jsonstr = {"isChoose":isChoose}; var result = JSON.parse(SendAndWaitMessageEx("SetChooseSingleCert", JSON.stringify(jsonstr))); return result.value; } }, // 功能:添加证书过滤条件 HRESULT AddFilter([in] ULONG ulType, [in] BSTR strValue, [out,retval] LONG* Result); AddFilter: function (ulType, strValue) { if( useActioveX || useNPPlugin ) { return PNXGWClient.AddFilter(ulType, strValue); } else { var jsonstr = {"ulType":ulType, "strValue":strValue}; var result = JSON.parse(SendAndWaitMessageEx("AddFilter", JSON.stringify(jsonstr))); return result.value; } }, // 功能:清除所有过滤条件 HRESULT ClearFilter([out,retval] LONG* Result); ClearFilter: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.ClearFilter(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("ClearFilter", jsonstr)); return result.value; } }, // 功能:P1签名 HRESULT P1Sign([in] BSTR strValueBase64, [out,retval] BSTR* Result); P1Sign: function (strValueBase64) { if(useActioveX|| useNPPlugin ) { return PNXGWClient.P1Sign(strValueBase64); } else { var jsonstr = {"strValueBase64":strValueBase64}; var result = JSON.parse(SendAndWaitMessageEx("P1Sign", JSON.stringify(jsonstr))); return result.value; } }, // 功能:P1签名字符串 HRESULT P1SignString([in] BSTR strValue, [out,retval] BSTR* Result); P1SignString: function (strValue) { if( useActioveX || useNPPlugin ) { return PNXGWClient.P1SignString(strValue); } else { var jsonstr = {"strValue":strValue}; var result = JSON.parse(SendAndWaitMessageEx("P1SignString", JSON.stringify(jsonstr))); return result.value; } }, // 功能:P7签名 HRESULT P7Sign([in] BSTR strValueBase64,[in] VARIANT_BOOL isDetach,[in] VARIANT_BOOL isIncludeCert, [out,retval] BSTR* Result); P7Sign: function (strValueBase64, isDetach, isIncludeCert) { if( useActioveX || useNPPlugin ) { return PNXGWClient.P7Sign(strValueBase64, isDetach, isIncludeCert); } else { var jsonstr = {"strValueBase64":strValueBase64, "isDetach":isDetach, "isIncludeCert":isIncludeCert}; var result = JSON.parse(SendAndWaitMessageEx("P7Sign", JSON.stringify(jsonstr))); return result.value; } }, // 功能:P7签名字符串 HRESULT P7SignString([in] BSTR strValue,[in] VARIANT_BOOL isDetach,[in] VARIANT_BOOL isIncludeCert, [out,retval] BSTR* Result); P7SignString: function (strValue, isDetach, isIncludeCert) { if( useActioveX || useNPPlugin ) { return PNXGWClient.P7SignString(strValue, isDetach, isIncludeCert); } else { var jsonstr = {"strValue":strValue, "isDetach":isDetach, "isIncludeCert":isIncludeCert}; var result = JSON.parse(SendAndWaitMessageEx("P7SignString", JSON.stringify(jsonstr))); return result.value; } }, // 功能:释放签名对象 HRESULT Finalize([out,retval] LONG* Result); Finalize: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.Finalize(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("Finalize", jsonstr)); return result.value; } }, // 功能:获取签名版本 HRESULT GetSignVersion([out,retval] BSTR* Result); GetSignVersion: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetSignVersion(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("GetSignVersion", jsonstr)); return result.value; } }, // 功能:获取签名证书 HRESULT GetSignCert([out,retval] BSTR* RetCert); GetSignCert: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetSignCert(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("GetSignCert", jsonstr)); return result.value; } }, // 功能:获取错误码 HRESULT GetLastError([out,retval] ULONG* RetLong); GetLastError: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetLastError(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("GetLastError", jsonstr)); return result.value; } }, // 功能:获取错误信息 HRESULT GetLastErrorMessage([out,retval] BSTR* RetStr); GetLastErrorMessage: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetLastErrorMessage(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("GetLastErrorMessage", jsonstr)); return result.value; } }, // 功能:销毁认证对象 HRESULT DestoryAuth([out,retval] LONG* lRetVal); DestoryAuth: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.DestoryAuth(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("DestoryAuth", jsonstr)); return result.value; } }, // 功能:获取证书类型 HRESULT GetSignCertType([out,retval] BSTR* RetCertType); GetSignCertType: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetSignCertType(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("GetSignCertType", jsonstr)); return result.value; } }, // 功能:获取签名摘要算法 HRESULT GetSignHash([out,retval] BSTR* RetSignHash); GetSignHash: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetSignHash(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("GetSignHash", jsonstr)); return result.value; } }, // 功能:使能调用序列 HRESULT CallQueueEnable([in] BOOL bCallQueueEnable, [in] BOOL bHeadInfoEnable, [out,retval] LONG* lRetVal); CallQueueEnable: function (bCallQueueEnable, bHeadInfoEnable) { if( useActioveX || useNPPlugin ) { return PNXGWClient.CallQueueEnable(bCallQueueEnable, bHeadInfoEnable); } else { var jsonstr = {"bCallQueueEnable":bCallQueueEnable, "bHeadInfoEnable":bHeadInfoEnable}; var result = JSON.parse(SendAndWaitMessageEx("CallQueueEnable", JSON.stringify(jsonstr))); return result.value; } }, // 功能:清空调用序列结果 HRESULT CallQueueClear([out,retval] LONG* lRetVal); CallQueueClear: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.CallQueueClear(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("CallQueueClear", jsonstr)); return result.value; } }, // 功能:获取调用序列结果 HRESULT CallQueueGet([out,retval] BSTR* bstrRetVal); CallQueueGet: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.CallQueueGet(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("CallQueueGet", jsonstr)); return result.value; } }, // 功能:客户端安全策略检查 HRESULT DoClientSecurityCheck([in] BSTR strGatewayAddress, [in] SHORT usGatewayPort, [in] BSTR strSecurityPolicys, [out,retval] BOOL* RetVal); DoClientSecurityCheck: function (strGatewayAddress, usGatewayPort, strSecurityPolicys) { if( useActioveX || useNPPlugin ) { return PNXGWClient.DoClientSecurityCheck(strGatewayAddress, usGatewayPort, strSecurityPolicys); } else { var jsonstr = {"strGatewayAddress":strGatewayAddress, "usGatewayPort":usGatewayPort, "strSecurityPolicys":strSecurityPolicys}; var result = JSON.parse(SendAndWaitMessageEx("DoClientSecurityCheck", JSON.stringify(jsonstr))); return result.value; } }, // 功能:获取通讯协议版本 HRESULT GetProtocolVersion([out,retval] BSTR* strProtocolVersion); GetProtocolVersion: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetProtocolVersion(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("GetProtocolVersion", jsonstr)); return result.value; } }, // 功能:修改Key的Pin码 HRESULT ChangePinCode([in] BSTR strCertSn, [in] LONG lPinCodeType, [in] BSTR strCurPinCode, [in] BSTR strNewPinCode, [out,retval] LONG *pRet); ChangePinCode: function (strCertSn, lPinCodeType, strCurPinCode, strNewPinCode) { if( useActioveX || useNPPlugin ) { return PNXGWClient.ChangePinCode(strCertSn, lPinCodeType, strCurPinCode, strNewPinCode); } else { var jsonstr = {"strCertSn":strCertSn, "lPinCodeType":lPinCodeType, "strCurPinCode":strCurPinCode, "strNewPinCode":strNewPinCode}; var result = JSON.parse(SendAndWaitMessageEx("ChangePinCode", JSON.stringify(jsonstr))); return result.value; } }, // 功能:等待策略设置完毕 HRESULT WaitSetPolicyFinish([in] BSTR strGatewayAddress, [out,retval] LONG* lRetVal); WaitSetPolicyFinish: function (strGatewayAddress) { if( useActioveX || useNPPlugin ) { return PNXGWClient.WaitSetPolicyFinish(strGatewayAddress); } else { var jsonstr = {"strGatewayAddress":strGatewayAddress}; var result = JSON.parse(SendAndWaitMessageEx("WaitSetPolicyFinish", JSON.stringify(jsonstr))); return result.value; } }, // 功能:获取会话Token HRESULT GetSessionToken([in] BSTR strGatewayAddress, [out,retval] BSTR* bstrToken); GetSessionToken: function (strGatewayAddress) { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetSessionToken(strGatewayAddress); } else { var jsonstr = {"strGatewayAddress":strGatewayAddress}; var result = JSON.parse(SendAndWaitMessageEx("GetSessionToken", JSON.stringify(jsonstr))); return result.value; } }, // 功能:获取控件版本 HRESULT GetVersion([out,retval] BSTR* bstrRetVal); GetVersion: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetVersion(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("GetVersion", jsonstr)); return result.value; } }, // 功能:设置语言资源 HRESULT SetLanguage([in] BSTR strLanguage, [out,retval] LONG* Result); SetLanguage: function (strLanguage) { if( useActioveX || useNPPlugin ) { return PNXGWClient.SetLanguage(strLanguage); } else { var jsonstr = {"strLanguage":strLanguage}; var result = JSON.parse(SendAndWaitMessageEx("SetLanguage", JSON.stringify(jsonstr))); return result.value; } }, // 功能:获取用户属性 HRESULT GetAttribute([in] BSTR strGatewayAddress, [in] BSTR strAppFlag, [in] BSTR strAttributeName, [out, retval] BSTR* attributevalue); GetAttribute: function (strGatewayAddress, strAppFlag, strAttributeName) { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetAttribute(strGatewayAddress, strAppFlag, strAttributeName); } else { var jsonstr = {"strGatewayAddress":strGatewayAddress, "strAppFlag":strAppFlag, "strAttributeName":strAttributeName}; var result = JSON.parse(SendAndWaitMessageEx("GetAttribute", JSON.stringify(jsonstr))); return result.value; } }, //功能:获取签名加密PIN码 HRESULT GetPinCode([out,retval] BSTR* Result); GetPinCode: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetPinCode(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("GetPinCode", JSON.stringify(jsonstr))); return result.value; } }, //功能:设置强制弹出PIN码框 HRESULT SetForcePinDialog([in] ULONG isForcePinDialog, [out,retval] LONG* Result); SetForcePinDialog: function (isForcePinDialog) { if( useActioveX || useNPPlugin ) { return PNXGWClient.SetForcePinDialog(isForcePinDialog); } else { var jsonstr = {"isForcePinDialog":isForcePinDialog}; var result = JSON.parse(SendAndWaitMessageEx("SetForcePinDialog", JSON.stringify(jsonstr))); return result.value; } }, //功能:返回报文认证属性 HRESULT MessageAuth([in] BSTR bstrGatewayAddress, [in] BSTR bstrAttributeName, [in] BSTR bstrAppID,[out,retval] BSTR* bstrAttributeValue); MessageAuth: function (bstrGatewayAddress, bstrAttributeName, bstrAppID) { if( useActioveX || useNPPlugin ) { return PNXGWClient.MessageAuth(bstrGatewayAddress, bstrAttributeName, bstrAppID); } else { var jsonstr = {"bstrGatewayAddress":bstrGatewayAddress, "bstrAttributeName":bstrAttributeName, "bstrAppID":bstrAppID}; var result = JSON.parse(SendAndWaitMessageEx("MessageAuth", JSON.stringify(jsonstr))); return result.value; } }, // 功能:获取底板照片 HRESULT GetPhoto([in] BSTR bstrSvrIP, [in] USHORT usSvrPort, [in] BSTR bstrID, [out,retval] BSTR* bstrBase64); GetPhoto: function (bstrSvrIP, usSvrPort, bstrID) { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetPhoto(bstrSvrIP, usSvrPort, bstrID); } else { var jsonstr = {"bstrSvrIP":bstrSvrIP, "usSvrPort":usSvrPort, "bstrID":bstrID}; var result = JSON.parse(SendAndWaitMessageEx("GetPhoto", JSON.stringify(jsonstr))); return result.value; } }, // 功能:获取证书列表 HRESULT GetCertList([out,retval] BSTR* pbstrResult); // 证书间用换行符分割,证书各项间用空格符分割 GetCertList: function() { if( useActioveX || useNPPlugin ) { return PNXGWClient.GetCertList(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("GetCertList", JSON.stringify(jsonstr))); return result.value; } }, // 功能:设置pin码并获取签名结果 HRESULT P1SignWithPin([in] BSTR bstrSN, [in] BSTR bstrPIN, [in] BSTR bstrOrg, [out, retval] BSTR* bstrResult); P1SignWithPin: function(bstrSN, bstrPIN, bstrOrg) { if( useActioveX || useNPPlugin ) { return PNXGWClient.P1SignWithPin(bstrSN, bstrPIN, bstrOrg); } else { var jsonstr = {"bstrSN":bstrSN, "bstrPIN":bstrPIN, "bstrOrg":bstrOrg}; var result = JSON.parse(SendAndWaitMessageEx("P1SignWithPin", JSON.stringify(jsonstr))); return result.value; } }, // 功能:清除所有过滤条件 HRESULT ClearFilterEx([out,retval] LONG* Result); ClearFilterEx: function () { if( useActioveX || useNPPlugin ) { return PNXGWClient.ClearFilterEx(); } else { var jsonstr = ""; var result = JSON.parse(SendAndWaitMessageEx("ClearFilterEx", jsonstr)); return result.value; } }, //功能:设置会话token HRESULT SetSessionToken([in] BSTR bstrGwAddr, [in] BSTR bstrToken, [out, retval] LONG* Result) SetSessionToken: function(strGatewayAddress, strToken) { if( useActioveX || useNPPlugin ) { return PNXGWClient.SetSessionToken(strGatewayAddress, strToken); } else { var jsonstr = {"strGatewayAddress":strGatewayAddress, "strToken":strToken}; var result = JSON.parse(SendAndWaitMessageEx("SetSessionToken", JSON.stringify(jsonstr))); return result.value; } } } }(); (function(){ JIT_GW_ExtInterface.Init(); })(); export default JIT_GW_ExtInterface