瀏覽代碼

Z991239-1017 #comment fea 更新初始化页,解决关闭页面时把错误页也关闭掉

陈良瑜80374463 4 年之前
父節點
當前提交
d2448d254b

+ 29 - 5
addin/res/ManagerDesktop/css/ininPsd.css

@@ -15,7 +15,7 @@ audio,canvas,video{display:inline-block;*display:inline;*zoom:1}
 blockquote:before,blockquote:after,q:before,q:after{content:"\0020"}
 textarea{overflow:auto;resize:vertical}
 input,textarea,button,select,a{outline:0 none;border: none;}
-input::-webkit-input-placeholder{color: #cacaca;}
+input::-webkit-input-placeholder{color: #ddd;}
 button{cursor: pointer;background: transparent;}
 button[disabled=true]{opacity: 0.6;}
 button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}
@@ -201,6 +201,7 @@ input[type="number"]{
     width: 40%;
 		padding: 20px;
 		top:25%;
+		z-index: 99;
 }
 
 } 
@@ -211,7 +212,7 @@ input[type="number"]{
 nav{
 	padding: 0px 40px;
 	height: 120px;
-	margin-bottom: 140px;
+	margin-bottom: 120px;
 	display: flex;
 	align-items: center;
 }
@@ -256,11 +257,12 @@ nav ul li:nth-child(4)::before{
 
 .imgDiv{
 	text-align: center;
-	margin-bottom: 40px;
+	margin-bottom: 30px;
 }
 
 .errPage p{
 	text-align: center;
+	margin: 8px 0px;
 }
 
 .errPage .coverBg {
@@ -268,6 +270,7 @@ nav ul li:nth-child(4)::before{
 }
 .errPage .modal{
 	padding: 40px 30px;
+	z-index: 99;
 }
 .errPage .modal h3{
 	width: 100%;
@@ -285,7 +288,9 @@ nav ul li:nth-child(4)::before{
 	line-height: 45px;
 	border-radius: 20px;
 }
-
+#RestartTxt{
+	margin-bottom: 20px;
+}
 
 @media screen and (min-device-width: 1920px) {
 	
@@ -295,4 +300,23 @@ nav ul li:nth-child(4)::before{
 	}
 	}
 
-/******************************* errPage *******************************/
+/******************************* errPage *******************************/
+.iframeDiv{
+	display: none;
+	position: absolute;
+	top: 0px;
+	left: 0px;
+	width: 100%;
+	height: 100%;
+	background: rgba(0, 0, 0, 0.32);
+}
+
+.iframeDiv .initPsd {
+	padding: 10px 30px;
+}
+.errPage .initPsd{
+	width: 45%;
+	position: fixed;
+	top: 100px;
+	left: 27%;
+}

+ 87 - 8
addin/res/ManagerDesktop/errPage.html

@@ -2,7 +2,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
 	<head>
 		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-		<title>密钥初始化</title>
+		<title>错误页</title>
 		<meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
 		<link rel="stylesheet" type="text/css" href="css/ininPsd.css" />
 
@@ -15,6 +15,7 @@
 		<script type="text/javascript" src="js/errorCodeEnum.js"></script>
 		<script type="text/javascript" src="js/entityService.js"></script>
 		<script type="text/javascript" src="Include/jQuery/js/jquery-1.8.2.min.js" ></script>
+		<script type="text/javascript" src="js/initPsd.js"></script>
 		<script type="text/javascript" src="js/errPage.js"></script>
 
 	</head>
@@ -28,23 +29,101 @@
 				<li class="fz_24" onclick="RebootShell()">	重启应用 </li>
 				<li class="fz_24" onclick="RebootComputer()">	重启计算机 </li>
 				<li class="fz_24" onclick="PowerOff()">	关机 </li>
-
 			</ul>
 		</nav>
+
+		<p class="fz_32" id="RestartTxt"></p>
 		<div class="imgDiv">
-			<img src="./images/close.png" />
+			<img id="AuthFailBg" src="./images/close.png" />
 		</div>
-		<p class="fz_32">设备禁用锁定,请联系分行信息技术部</p>
+		<p class="fz_32" id="SuspensionTxt"></p>
+		<p class="fz_32" id="PromptTxt">设备禁用锁定,请联系分行信息技术部</p>
 
-		<div class="modal-box" id="modalBox">
+		<div class="modal-box" id="modalBoxErr">
 			<div class="coverBg"></div>
-			<div class="modal" id="modal">
-				<h3 class="fz_32 " id="errTips">确认重启应用</h3>
+			<div class="modal" id="modalErr">
+				<h3 class="fz_32 " id="errTipsErr">确认重启应用</h3>
 				<div class="btns">
 					<button class="btn-gray fz_23" onclick="clickSure()">确 定</button>
-					<button class="btn-blue fz_23" onclick="closeModal()">取 消</button>
+					<button class="btn-blue fz_23" onclick="closeModalErr()">取 消</button>
 				</div>
 			</div>
 		</div>
+		<div class="iframeDiv">
+			<div class="initPsd">
+			<h3 class="fz_32">重置设备密钥</h3>
+			<div class="config">
+				<h5 class="fz_24">下载集中配置</h5>
+				<div class="rows">
+					<label for="configAddr">集中配置地址</label>
+					<input type="text" name="configAddr" placeholder="请输入..." onblur="onblurAddr('config')" />
+				</div>
+				<div class="rows">
+					<label for="configPort">集中配置端口</label>
+					<input type="number" name="configPoint" placeholder="请输入..." />
+				</div>
+				<button class="btn-blue" onclick="downLoad()">开始下载</button>
+			</div>
+
+			<div class="setting">
+				<h5 class="fz_24">下载主密钥</h5>
+				<div class="rows">
+					<label for="accessAddr">准入服务地址</label>
+					<input type="text" name="accessAddr" placeholder="请输入..." onblur="onblurAddr('access')" />
+				</div>
+				<div class="rows">
+					<label for="accessPort">准入服务端口</label>
+					<input type="number" name="accessPort" placeholder="请输入..." />
+				</div>
+				<div class="rows">
+					<label for="account">分行维护用户</label>
+					<input type="text" name="account" placeholder="请输入..." />
+				</div>
+				<div class="rows">
+					<label for="password">分行用户密码</label>
+					<input type="password" name="password" placeholder="请输入..." />
+				</div>
+				<div class="btn">
+					<button class="btn-blue" onclick="ResetRSA()">重置设备密钥</button>
+					<button class="btn-gray" onclick="exit()">退出</button>
+				</div>
+			</div>
+
+			<div class="modal-box" id="modalBox">
+				<div class="coverBg"></div>
+				<div class="modal" id="modal">
+					<img src="./images/success.png" />
+					<p class="fz_24" id="errTips">下载集中配置成功</p>
+					<button class="btn-blue fz_23" onclick="closeModal()">确定</button>
+				</div>
+			</div>
+
+			<!-- loading -->
+			<div id='loadContent'>
+				<div class="back_cover" ></div>
+				<div class='loading' id='loading'>
+					<div class='circle circle1'>
+						<span></span>
+						<span></span>
+						<span></span>
+						<span></span>
+					</div>
+					<div class='circle circle2'>
+						<span></span>
+						<span></span>
+						<span></span>
+						<span></span>
+					</div>
+					<div class='circle circle3'>
+						<span></span>
+						<span></span>
+						<span></span>
+						<span></span>
+					</div>
+				</div>
+			</div>
+			<!-- loading -->
+			</div>
+			</div>
 	</body>
 </html>

二進制
addin/res/ManagerDesktop/images/CLOSED@2x.png


+ 93 - 12
addin/res/ManagerDesktop/js/errPage.js

@@ -7,13 +7,94 @@ window.onload=function(){
 				return false;
 			}
 		}
-	}
+  }
+
+  WebSocketBase.socket.onerror = function () {
+		logEvent("DeviceControlService startSession callback");
+    let tips = "终端链接失败"
+    ModalStyle(tips, 'pathN')
+
+  }
+
+  showErrTips();
 }
 
+
+/**
+ * @description: 根据返回错误类型展示tips
+ * @param {reason} 
+ * @return: 
+ */
+function showErrTips(){
+  let Request =  GetRequest();
+  reason = Request['reason'];
+  let SuspensionTxt,PromptTxt
+
+  switch(reason)
+  {
+    case "breakdown" :
+      var errmsg = Request['errmsg'];
+      var clock =Request['reboottime'];
+      document.getElementById("RestartTxt").innerHTML = "可视柜台将在" + clock + "重启";
+      SuspensionTxt = "准入不通过暂停服务:"+errmsg;
+      PromptTxt = "请联系分行信息技术部处理故障";
+      break;
+    case "disabled":
+      SuspensionTxt = "市场业务主管限制交易";
+      PromptTxt = "请网点市场业务主管发起恢复正常交易的申请";
+      break;
+    case "jobuncomplete":
+      SuspensionTxt = "未按时登记,交易受限";
+      PromptTxt = "请插入电子钥匙进行“作业完成”后启用;如需急用请提“临时启用”申请,有效期7天";
+      break;
+    case "TerminalManagerOff":
+      PromptTxt= "设备禁用锁定,请联系分行信息技术部  ";
+      break;
+    case "TerminalManagerKickOut":
+      PromptTxt = "设备罚出锁定,请联系分行信息技术部  ";
+      break;
+    case "CardStoreIsBusy":
+      document.getElementById("AuthFailBg").src = "../images/ss-cardstore.png";
+      break;
+    case "MachineTypeError":
+      PromptTxt = "双屏版只检测到单屏";
+      break;
+    case "CameraConfig":
+      PromptTxt = "系统配置中,请稍候";
+      break;
+    case "WEB_OPEN_FAIL":
+      console.log('Request----',Request)
+      var errmsg = Request['errmsg'];
+      var errcode =Request['errcode'];
+      SuspensionTxt = errmsg;
+      PromptTxt = errcode;
+
+  }
+
+  if(SuspensionTxt){
+    document.getElementById("SuspensionTxt").innerHTML = SuspensionTxt
+  }
+  if(PromptTxt){
+    document.getElementById("PromptTxt").innerHTML = PromptTxt
+  }
+}
+
+function GetRequest() {
+  var url = location.search;
+  var theRequest = new Object();
+  if (url.indexOf("?") != -1) {
+      var str = url.substr(1);
+      strs = str.split("&");
+      for (var i = 0; i < strs.length; i++) {
+          theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
+      }
+  }
+  return theRequest;
+} 
+
   //重置密钥
   function resetRSA(){
-    window.location.href = 'initPassword.html'
-    history.pushState({init:1},"init",'initPassword.html')
+    $('.iframeDiv').fadeIn();
   }
 
 
@@ -23,13 +104,13 @@ let btnType
 function RebootShell(){
   logEvent("RebootShell");
   btnType = 'RebootShell'
-  ModalStyle('确认重启应用?')
+  ModalStyleErr('确认重启应用?')
 }
 
 //重启
 function RebootComputer(){
   logEvent("RebootComputer");
-  ModalStyle('确认重启计算机?')
+  ModalStyleErr('确认重启计算机?')
   btnType = 'RebootComputer'
 }
 
@@ -37,13 +118,13 @@ function RebootComputer(){
 function PowerOff(){
   logEvent("PowerOff");
   btnType = 'PowerOff'
-  ModalStyle('确认关闭计算机?')
+  ModalStyleErr('确认关闭计算机?')
 }
 
 // modal显示设置
-function ModalStyle(tips){
-	$('#modalBox').fadeIn('slow')
-	$('#errTips').html(tips);
+function ModalStyleErr(tips){
+	$('#modalBoxErr').fadeIn('slow')
+	$('#errTipsErr').html(tips);
 }
 
 // modal 确定事件
@@ -55,9 +136,9 @@ function clickSure(){
     case 'RebootComputer': DeviceService.RebootComputer();break
     case 'PowerOff': DeviceService.PowerOff(); break;
   }
-  $('#modalBox').fadeOut('slow')
+  $('#modalBoxErr').fadeOut('slow')
 }
 
-function closeModal(){
-  $('#modalBox').fadeOut('slow')
+function closeModalErr(){
+  $('#modalBoxErr').fadeOut('slow')
 }

+ 52 - 16
addin/res/ManagerDesktop/js/initPsd.js

@@ -11,6 +11,15 @@ window.onload=function(){
 	DeviceControlService.init();
 	CenterSettingService.init();
 	InitializerService.init();
+
+	WebSocketBase.socket.onerror = function () {
+		logEvent("DeviceControlService startSession callback");
+		let tips = "终端链接失败"
+		ModalStyle(tips, 'pathN')
+	};
+
+	ReadCenterConfig('centerSetting')
+
 };
 
 /**
@@ -64,7 +73,7 @@ function onblurAddr(IPType){
 			tips = '准入服务地址格式不正确'
 			break;
 	}
-
+	if(IpAddr=='')return
 	if( !RegxIP.test(IpAddr) ){
 		ModalStyle(tips,'pathN')
 	}
@@ -79,6 +88,8 @@ function downLoad(){
 	let req = new Request(),reqIn ={};
 	let data = document.getElementsByTagName('input');
 	
+	// reqIn.sSettingServer = data['configAddr'].value;
+	// reqIn.nSettingPort = Number( data['configPoint'].value)
 	reqIn.strAddr = data['configAddr'].value;
 	reqIn.nPort = Number( data['configPoint'].value)
 	req.timeout = 60000
@@ -88,8 +99,10 @@ function downLoad(){
 	if(IsNull) return false
 	$('#loadContent').fadeIn('slow')
 
+	// InitializerService.DownloadCenterSetting(req, (ret)=> {
 	CenterSettingService.Download(req, (ret)=> {
 		logEvent("Download ret: "+JSON.stringify(ret));
+
 		if(ret){
 			$('#loadContent').fadeOut('slow')
 			if(ret.errorCode !==0){
@@ -97,12 +110,21 @@ function downLoad(){
 				ModalStyle(tips,'pathN');
 				return false
 			}
-
 			let tips = '下载集中配置成功'
-			ModalStyle(tips,'pathY')
-			// 读取配置文件
-			ReadCenterConfig()
+				ModalStyle(tips,'pathY')
+				// 读取配置文件
+				ReadCenterConfig('access')
 
+			// if(ret.Errcode !== 0)
+			// {
+			// 	let tips = `[${ret.Errcode.toString(16)}]`+ ret.ErrMsg
+			// 	ModalStyle(tips,'pathN');
+			// }else{
+			// 	let tips = '下载集中配置成功'
+			// 	ModalStyle(tips,'pathY')
+			// 	// 读取配置文件
+			// 	ReadCenterConfig()
+			// }
 		}
 		
 	})
@@ -113,10 +135,16 @@ function downLoad(){
  * @param {type} 
  * @return: 
  */
-function ReadCenterConfig(){
+function ReadCenterConfig(readType){
 	let req = new Request(),reqIn ={};
-	req.entityName = 'AccessAuthorization' 
-	req.key = 'Server' 
+	if(readType==='access'){
+		req.entityName = 'AccessAuthorization' 
+		req.key = 'Server' 
+	}else{
+		req.entityName = 'CenterSetting' 
+		req.key = 'Server' 
+	}
+	
 	req.reserved1 = 0
 	req.reserved2 = 0
 	req.reserved3 = ''
@@ -125,14 +153,21 @@ function ReadCenterConfig(){
 
 	DeviceControlService.ReadCenterConfigStr(req, (ret)=> {
 		logEvent("ReadCenterConfigStr ret: "+JSON.stringify(ret));
-		console.log('ReadCenterConfigStr-ret-->', ret,ret.value)
 		
 		$('#loadContent').fadeOut('slow');
 		if(ret.errorCode ===0){
-			let addr = ret.value.split(' ')[0]
-			let port = ret.value.split(' ')[1]
-			$('.setting input[name=accessAddr]').val(addr)
-			$('.setting input[name=accessPort]').val(port)
+			let result = JSON.parse(ret['{e12a3dc0-3a0b-47c4-a8c3-75190a42ae68}'] )
+			let addr = result.value.split(' ')[0]
+			let port = result.value.split(' ')[1]
+
+			if(readType==='access'){
+				$('.setting input[name=accessAddr]').val(addr)
+				$('.setting input[name=accessPort]').val(port)
+			}else{
+				$('.config input[name=configAddr]').val(addr)
+				$('.config input[name=configPoint]').val(port)
+			}
+			
 
 		}else{
 			let tips = '读取集中配置失败'
@@ -164,6 +199,7 @@ function ResetRSA(){
     //重置密钥
 	InitializerService.InitializeNew(req,  (ret)=> {
 		logEvent("InitializeNew ret: "+JSON.stringify(ret));
+		console.log("InitializeNew ret: "+JSON.stringify(ret));
 
 		if(ret){
 			$('#loadContent').fadeOut('slow')
@@ -192,10 +228,10 @@ function closeModal(){
 
 
 function exit(){
-	console.log('window.location---',history.state)
 	// 进入的方式,决定退出的方式
-	if(history.state&&history.state.init == 1){
-		window.location.href = 'errPage.html'
+	console.log('window.location',window.location,window.location.href.indexOf('errPage'))
+	if(window.location.href.indexOf('errPage')>-1){
+		$('.iframeDiv').fadeOut();
 
 	}else{
 		let req = {};