Browse Source

#IQRV #comment [JavaScript] 添加初始化的入口操作

gifur 4 years ago
parent
commit
e526db19b7

+ 79 - 7
addin/res/ManagerDesktop/js/page/initializer.js

@@ -1,12 +1,26 @@
 function initializerGenPage() {
-    var page = '<div id="initializer_page">\
-    <div id="initializer_tip" align="center" style="display: block;">\
-    <div class="color_descroption_gray"\
-    style="width:auto;margin-top:200px;font-size:18px;line-height:120%;">\
-    <span>相关功能正在开发中,敬请期待!</span>\
+    var page = '<div id="initializer_page" style="display: block;">\
+    <div class="maintitle">\
+        <div>终端初始化</div>\
+        <div class="page_description_text">执行终端初始化操作,用于密钥更新,终端准入等场景。\
+        </div>\
     </div>\
+    <div id="initializerContent">\
+        <div id="initializer_all_content">\
+            <div id="initializer_prompt" class="page_prompt_info page_scenes_info_text hide" style="display: none;"></div>\
+            <div class="clearboth" id="initializer_btn_save_div" style="padding-top:50px">\
+                <div class="control-label" style="margin-top: 8px;">&nbsp;</div>\
+                <div class="controls"><button class="btn_normal_long"\
+                        id="initializer_btn_save">密钥初始化(无需参数输入)</button></div>\
+            </div>\
+            <div class="clearboth" style="padding-top:70px"></div>\
+            </div>\
+        </div>\
+        <div id="initializer_activation_content" class="page_prompt_info page_scenes_info_text hide">\
+        </div>\
     </div>\
-    </div>';
+    <div style="height:40px;">&nbsp;</div>\
+</div>';
 
     $("#rightpagearea").prepend(page);
     if (typeof initializerRenderPage == "function") {
@@ -18,8 +32,65 @@ function initializerGenPage() {
 
 var initializerController = (function() {
 
-    function initPage() {
+    RVC.initializerEntity = RVC.EntityController.extend({
+        entityName: 'Initializer',
+        className: 'InitializerService',
+        methodID: {
+            InitializeNew: 1,
+            DownloadCenterSetting: 4
+        },
+        methodSignature: {
+            InitializeNew: 1567332745,
+            DownloadCenterSetting: 734649106
+        },
+
+        TerminalInitialize: function(req, callback) {
+            this.webSocketInvokeEx(req, 
+                ({id:this.methodID.InitializeNew, sig:this.methodSignature.InitializeNew}),
+                 callback);
+        }
+    });
+
+    function InitializeTerminal() {
+        let req = new Request();
+        req.entityName = 'AccessAuthorization'
+		req.key = 'Server'
+        RVC.DeviceControlEntityCtrl.ReadCenterConfigStr(req, function(ret){
+            if(ret.errorCode === 0) {
+                console.log('从集中配置中获取准入服务地址信息成功');
+                let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID])
+                const addr = result.value.split(' ')[0]
+			    const port = result.value.split(' ')[1]
+                if(checkIpv4(addr) && check_port(port)) {
+                    utilStartConfirmDialog("确定要进行密钥初始化?", function() {
+                        let reqIn = new Request();
+                        reqIn.strAuthServer = addr
+                        reqIn.nAuthPort = Number(port)
+                        reqIn.strUserID = 'admin'
+                        reqIn.strPassword = '88888888'
+                        utilStartSubmitDialog();
+                        RVC.initializerEntity.TerminalInitialize(reqIn, function(ret) {
+                            utilStopSubmitDialog();
+                            RVC.initializerEntity.commCallback(ret);
+                        });
+                    });
+                } else {
+                    utilStartAlertDialog("从集中配置中获取准入服务配置信息有误:" + result.value);
+                }
+            } else {
+                RVC.initializerEntity.commErrorCallback(ret);
+            }
+        });
+    }
 
+    function saveButtonHandle() {
+
+        InitializeTerminal();
+    }
+
+
+    function initPage() {
+        $(document).on('click', '#initializer_btn_save', saveButtonHandle);
     }
 
     var fistTime = true;
@@ -28,6 +99,7 @@ var initializerController = (function() {
 
         if (fistTime) {
             fistTime = false;
+            RVC.initializerEntity.init();
         }
         initPage();
     }

+ 22 - 6
addin/res/ManagerDesktop/js/public.js

@@ -1596,16 +1596,22 @@ $(function () {
             req.class = this.className;
             req.methodID = methodSig.id;
             req.signature = methodSig.sig;
+            if(typeof req.timeout == 'undefined') {
+                req.timeout = 20000;
+            }
             this.webSocketInvoke(req, callback);
         },
 
-        commCallback : function(ret) {
-            if("undefined" !== typeof ret.errorCode && ret.errorCode === 0) {
+        commCallback : function(ret, skipSucc) {
+            if(typeof skipSucc  == 'undefined' && "undefined" !== typeof ret.errorCode && ret.errorCode === 0) {
                 utilStartCommonDialog("操作成功!");
                 setTimeout(function () {
                     utilStopCommonDialog();
                 }, 1000);
-            } else if("undefined" !== typeof ret.errorCode) {
+                return;
+            }
+            
+            if("undefined" !== typeof ret.errorCode) {
                 if('undefined' != typeof ret.userCode) {
                     utilStartAlertDialog("操作失败! ErrorCode: " + ErrorCodeStringfy(ret.errorCode) + " | UserCode: " + ret.userCode);     
                 } else {
@@ -1614,7 +1620,11 @@ $(function () {
             } else {
                 utilStartAlertDialog("操作失败! 响应数据无法解析");
             }
-        } 
+        },
+
+        commErrorCallback: function(ret) {
+            commCallback(ret, 1);
+        }
     });
 });
 
@@ -1658,6 +1668,12 @@ $(function () {
             req.signature = this.methodSignature.ReadConfigValue;
 
             this.webSocketInvoke(req, callback);
+        },
+        ReadCenterConfigStr: function (req, callback) {
+
+            this.webSocketInvokeEx(req, 
+                ({id:this.methodID.ReadCenterConfigStr, sig:this.methodSignature.ReadCenterConfigStr}),
+                 callback);
         }
     });
 
@@ -1692,13 +1708,13 @@ $(function () {
             utilStartSubmitDialog();
             this.ControlTerminalLife(req, function(ret) {
                 utilStopSubmitDialog();
-                if (ret.errorCode === 0 && ret.retCode === 0) {
+                if (ret.errorCode === 0) {
                     utilStartCommonDialog("操作成功!");
                     setTimeout(function () {
                         utilStopCommonDialog();
                     }, 2000);
                 } else {
-                    utilStartAlertDialog("操作失败:" + ErrorCodeStringfy(ret.errorCode) + " | " + ret.retCode);
+                    utilStartAlertDialog("操作失败:" + ErrorCodeStringfy(ret.errorCode));
                 }
             });
         },

+ 240 - 0
addin/res/ManagerDesktop/prototype/initialize.html

@@ -0,0 +1,240 @@
+<html id="html">
+
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+    <title>可视柜台终端管理</title>
+    <meta name="viewport"
+        content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
+    <meta name="description" content="default">
+    <meta name="author" content="default">
+    <link type="text/css" rel="stylesheet" href="../css/emui-style.css">
+    <script type="text/javascript" src="../Include/LsyCookie.js"></script>
+    <script type="text/javascript" src="../js/errorCodeEnum.js"></script>
+    <script type="text/javascript" src="../js/common.js"></script>
+    <script type="text/javascript" src="../js/websocket.js"></script>
+    <script type="text/javascript" src="../js/webSocketBase.js"></script>
+    <script type="text/javascript" src="../js/entityMessage.js"></script>
+    <script type="text/javascript" src="../js/eventEmitter.js"></script>
+    <script type="text/javascript" src="../js/innerEventEmitter.js"></script>
+    <script type="text/javascript" src="../js/entityService.js"></script>
+    <script type="text/javascript" src="../Include/jQuery/js/emui-jquery.min.js"></script>
+    <script type="text/javascript" src="../js/public.js"></script>
+    <script type="text/javascript">
+        $(document).ready(function () {
+            var headerHeight = $(".header div.logo img").height();
+            $(".header").height(headerHeight);
+        });
+    </script>
+</head>
+
+<body style="display: block;">
+    <div id="preLoadEyeImg">
+        <div class="ic_guide_eye_open" style="opacity:0;height:0;margin:0"></div>
+        <div class="ic_eye_open" style="opacity:0;height:0;margin:0"></div>
+    </div>
+    <div>
+        <div class="headcontainer">
+            <div class="header" style="height: 38px;">
+                <div class="pull-left">
+                    <div class="logo pull-left"><img src="images/logo_cmb.png"> &nbsp;</div>
+                    <div class="pull-left devicename" id="deicename">&nbsp;</div>
+                </div>
+                <div id="header_right" class="pull-right">
+                    <table class="pull-right" cellpadding="0" cellspacing="0" frame="void" rules="none">
+                        <tbody>
+                            <tr>
+                                <td id="header_upgrade_info" style="width:52px;" align="center">
+                                    <div title="版本更新" style="position: relative;" class="ic_update_normal"
+                                        onclick="test();">
+                                    </div>
+                                </td>
+                                <td style="width:52px;" align="center" id="loginallowed_btn">
+                                    <div title="重启应用" class="ic_reboot"
+                                        onclick="RVC.HealthmanagerEntityCtrl.RestartApp();"></div>
+                                </td>
+                                <td style="width:52px;" align="center">
+                                    <div title="设备关机" class="ic_poweroff"
+                                        onclick="RVC.HealthmanagerEntityCtrl.PowerOffPC();"></div>
+                                </td>
+                                <td style="width:52px;border-left: 2px solid #A9A9A9;" align="center" id="quitpage_btn">
+                                    <div title="退出页面" class="ic_signout" onclick="quitThisPage();"></div>
+                                </td>
+                            </tr>
+                        </tbody>
+                    </table>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="clearboth"></div>
+    <div id="topmenucontainer" class="border_top border_bottom color_background_blue"
+        style="height:76px;font-size:18px;">
+        <table style="border-spacing:0px;border-collapse:collapse;width:1000px;margin:0 auto;left:0px;">
+            <tbody>
+                <tr>
+                    <td class="topmenu selectmenu" id="menu_home" onclick="selectPage('home')"><span id="ic_home_icon"
+                            style="display:inline-block;vertical-align: middle;margin-right:5px;"
+                            class="ic_home_selected">&nbsp;</span><span id="menu_top_home"
+                            style="display:inline-block;vertical-align: middle;" class="topmenu_selected">首页</span></td>
+                    <td class="topmenu color_Darkgray" id="menu_terminalmanagement"
+                        onclick="selectPage('terminalmanagement')">
+                        <span id="ic_terminalmanagement_icon"
+                            style="display:inline-block;vertical-align: middle;margin-right:5px;"
+                            class="ic_terminalmanagement">&nbsp;</span><span id="menu_top_terminalmanagement"
+                            style="display:inline-block;vertical-align: middle;" class="topmenu_normal">终端管理</span>
+                    </td>
+                    <td class="topmenu color_Darkgray" id="menu_networkmanagement"
+                        onclick="selectPage('networkmanagement')"><span id="ic_networkmanagement_icon"
+                            style="display:inline-block;vertical-align: middle;margin-right:5px;"
+                            class="ic_networkmanagement">&nbsp;</span><span id="menu_top_networkmanagement"
+                            style="display:inline-block;vertical-align: middle;" class="topmenu_normal">网络连接</span></td>
+                    <td class="topmenu color_Darkgray" id="menu_hardwareconfig" onclick="selectPage('hardwareconfig')">
+                        <span id="ic_hardwareconfig_icon"
+                            style="display:inline-block;vertical-align: middle;margin-right:5px;"
+                            class="ic_hardwareconfig">&nbsp;</span><span id="menu_top_hardwareconfig"
+                            style="display:inline-block;vertical-align: middle;" class="topmenu_normal">硬件管理</span></td>
+                    <td class="topmenu color_Darkgray" id="menu_mediacontrol" onclick="selectPage('mediacontrol')"><span
+                            id="ic_mediacontrol_icon"
+                            style="display:inline-block;vertical-align: middle;margin-right:5px;"
+                            class="ic_mediacontrol">&nbsp;</span><span id="menu_top_mediacontrol"
+                            style="display:inline-block;vertical-align: middle;" class="topmenu_normal">媒体控制</span></td>
+                    <td class="topmenu color_Darkgray" id="menu_advanceset" onclick="selectPage('advanceset')"><span
+                            id="ic_advanceset_icon"
+                            style="display:inline-block;vertical-align: middle;margin-right:5px;"
+                            class="ic_advanceset">&nbsp;</span><span id="menu_top_advanceset"
+                            style="display:inline-block;vertical-align: middle;" class="topmenu_normal">高级设置</span></td>
+                </tr>
+            </tbody>
+        </table>
+    </div>
+    <div class="clearboth color_background_white">
+        <div class="bodycontainer">
+            <div id="leftmenuarea" class="leftmenuarea" style="padding-top: 20px; height: 802px;">
+                <div id="initializer_childrens_menu">
+                    <div class="clearboth secondmenu selectmenu" id="menu_mobilenetwork"
+                        onclick="selectThirdPage('mobileconnection','mobilenetwork')">
+                        <div class="secondmenu_child">
+                            <div class="pull-left pointer" style="width: 200px;word-break: break-all;"
+                                lang-id="menu.mobilenetwork">终端配置</div>
+                            <div class="pull-right menu_arrow_open" id="menu_mobilenetwork_arrow"></div>
+                        </div>
+                    </div>
+                    <div id="mobilenetwork_childrens_menu" class="hide" style="display: block;">
+                        <div class="clearboth thirdleftmenu selectmenu" id="menu_mobileconnection"
+                            onclick="selectPage('mobileconnection')">
+                            <div class="pointer" lang-id="menu.mobileconnection">终端信息</div>
+                        </div>
+                        <div class="clearboth thirdleftmenu color_Darkgray" id="menu_mobilesearch"
+                            onclick="selectPage('mobilesearch')">
+                            <div class="pointer" lang-id="menu.mobilesearch">移动网络搜索</div>
+                        </div>
+                    </div>
+                    <div class="clearboth secondmenu color_Darkgray" id="menu_wifinetworks"
+                        onclick="selectThirdPage('wifinetworkssetting','wifinetworks')">
+                        <div class="secondmenu_child">
+                            <div class="pull-left pointer" style="width: 200px;word-break: break-all;"
+                                lang-id="menu.wifinetworks">WLAN 扩展</div>
+                            <div class="pull-right menu_arrow_close" id="menu_wifinetworks_arrow"></div>
+                        </div>
+                    </div>
+                    <div id="wifinetworks_childrens_menu" class="hide" style="display: none;">
+                        <div class="clearboth thirdleftmenu color_Darkgray" id="menu_wifinetworkssetting"
+                            onclick="selectPage('wifinetworkssetting')">
+                            <div class="pointer" lang-id="menu.wifinetworkssetting">WLAN 扩展设置</div>
+                        </div>
+                        <div class="clearboth thirdleftmenu color_Darkgray" id="menu_wifinetworksconnect"
+                            onclick="selectPage('wifinetworksconnect')">
+                            <div class="pointer" lang-id="menu.wifinetworksconnect">WLAN 扩展连接</div>
+                        </div>
+                        <div class="clearboth thirdleftmenu color_Darkgray" id="menu_wifinetworkswps"
+                            onclick="selectPage('wifinetworkswps')">
+                            <div class="pointer" lang-id="menu.wifinetworkswps">WLAN 扩展 WPS</div>
+                        </div>
+                    </div>
+                </div>
+                <div style="height:60px;">&nbsp;</div>
+            </div>
+            <div id="rightpagearea" class="rightpagearea margin-left-50" style="padding-top: 40px; width: 690px;">
+                <div id="initializer_page" style="display: block;">
+                    <div class="maintitle">
+                        <div>终端初始化</div>
+                        <div class="page_description_text">执行终端初始化操作,用于密钥更新,终端准入等场景。
+                        </div>
+                    </div>
+                    <div id="initializerContent">
+                        <div id="initializer_all_content">
+                            <div id="initializer_prompt" class="page_prompt_info page_scenes_info_text hide" style="display: none;"></div>
+                            <div class="clearboth" id="initializer_btn_save_div" style="padding-top:50px">
+                                <div class="control-label" style="margin-top: 8px;">&nbsp;</div>
+                                <div class="controls"><button class="btn_normal_long btn_disabled"
+                                        id="initializer_btn_save">密钥初始化(无需参数输入)</button></div>
+                            </div>
+                            <div class="clearboth" style="padding-top:70px"></div>
+                            </div>
+                        </div>
+                        <div id="initializer_activation_content" class="page_prompt_info page_scenes_info_text hide">
+                        </div>
+                    </div>
+                    <div style="height:40px;">&nbsp;</div>
+                </div>
+            </div>
+            <div class="clearboth"></div>
+        </div>
+    </div>
+    <div class="clearboth"></div>
+    <div id="page_footer" style="height:80px;background-color:#F3F3F3;width:100%;" class="hide">
+        <div style="width:1150px;height:50px;margin:0 auto;background-color:#F3F3F3;">
+            <div class="clearboth footercontainer">
+                <div id="copyright">
+                    <table style="margin-top:5px; margin-bottom:12px" cellpadding="0" cellspacing="0" frame="void"
+                        rules="none" align="center">
+                        <tbody>
+                            <tr>
+                                <td class="padding-left-20">
+                                    <a id="help_href" href="#" rel="noopener noreferrer" target="_blank"
+                                        class="pull-left  padding-left-20 color_descroption_gray"
+                                        style="display: inline;">
+                                        <div class="pull-left footer-help" lang-id="footer.faqs">常见问题</div>
+                                    </a>
+                                </td>
+                                <td class="padding-left-20">
+                                    <div class="padding-left-20 border_left color_border_gray color_descroption_gray"
+                                        id="footer_copyright">©2021 招商银行 版权所有</div>
+                                </td>
+                            </tr>
+                        </tbody>
+                    </table>
+                </div>
+            </div>
+        </div>
+    </div>
+    <div class="clearboth"></div>
+    <div id="submit_light" class="submit_white_content" style="display: none;"></div>
+    <div id="pwd_submit_light" class="pwd_submit_white_content"></div>
+    <div id="toast_location" class="toast_location hide">
+        <div class="toast_left pull-left"></div>
+        <div class="pull-left color_Darkgray" style="background-color:#DBDBDB;height:44px;font-size:14px;">
+            <div style="margin-top:14px;" id="toast_info"></div>
+        </div>
+        <div class="toast_right pull-left"></div>
+    </div>
+    <div id="confirm_light" class="submit_white_content hide" style="display: none;"></div>
+    <div id="submit_fade" class="submit_black_overlay hide" style="display: none;"></div>
+    <div id="emui_content_pop_win" class="pop_win hide">
+        <div class="adv_pop_win_top">
+            <div class="pull-left padding-left-30" id="emui_pop_win_title" lang-id="cbs.win.title"
+                style="font-size:16px;padding-top:25px;"></div>
+            <div class="pull-right btn_cancel padding-right-8" onclick="EMUI.popWinController.closeAll();"
+                style="margin-top:25px;"></div>
+        </div>
+        <div class="adv_pop_win_middle" style="min-height:100px;">
+            <div class="clearboth border_bottom margin-left-10" style="width:504px;"></div>
+            <div id="pop_win_content_area" class="pop_win_content" style="word-wrap:break-word;">&nbsp;</div>
+        </div>
+        <div class="adv_pop_win_bottom"></div>
+    </div>
+
+
+</body>
+
+</html>