const preStepIndex = 0; const curStepIndex = 1; const nextStepIndex = 2; var DeployStepChain = { Begin : [DEPLOY.DeployStep_Begin, DEPLOY.DeployStep_Begin, DEPLOY.DeployStep_3rdParty_FontInstall], FontInstall : [DEPLOY.DeployStep_Begin, DEPLOY.DeployStep_3rdParty_FontInstall,DEPLOY.DeployStep_3rdParty_SogouInstall], SogouInstall : [DEPLOY.DeployStep_3rdParty_FontInstall, DEPLOY.DeployStep_3rdParty_SogouInstall,DEPLOY.DeployStep_GetTerminalInfo], GetTerminalInfo : [DEPLOY.DeployStep_3rdParty_SogouInstall, DEPLOY.DeployStep_GetTerminalInfo,DEPLOY.DeployStep_AdapterConfig], AdapterConfig : [DEPLOY.DeployStep_GetTerminalInfo, DEPLOY.DeployStep_AdapterConfig,DEPLOY.DeployStep_MediaConfig], MediaConfig : [DEPLOY.DeployStep_AdapterConfig, DEPLOY.DeployStep_MediaConfig,DEPLOY.DeployStep_FetchCenterSettings], FetchCenterSettings : [DEPLOY.DeployStep_MediaConfig, DEPLOY.DeployStep_FetchCenterSettings,DEPLOY.DeployStep_AccessAuthorize], AccessAuthorize : [DEPLOY.DeployStep_FetchCenterSettings, DEPLOY.DeployStep_AccessAuthorize,DEPLOY.DeployStep_Finished], Finished : [DEPLOY.DeployStep_Finished, DEPLOY.DeployStep_Finished,DEPLOY.DeployStep_Finished], } var SETCTION = { BEGIN:'start', GETTERMINAL_INFO:'init_param', CENTERSETTINGS:'sync_centersetting', ACCESS_AUTHORIZE:'access_authorize', MEDIA_CONFIG:'media_config', FINSHED:'finish', }; var MEDIA_TYPE = { CAMERA : 1, MICROPHONE : 2, LOUNDSPEAKER:4 } var MEDIA_DETAIL_TYPE = { MediaDev_OutSpeaker:1, MediaDev_InSpeaker:2, MediaDev_OutMicrophone:3, MediaDev_InMicrophone:4 } var VENDOR = ['KEBA','CW','GRG','NANTIAN','*']; var VENDOR_ZHCN = ['中钞科堡','恒银金融','广电运通','云南南天','全部']; var VENDOR_MACHINE_TYPE = [ ['E1080-L'],['CASH35AG-JR10(G)'],['DT-7000I64A'],['VTM-6200B17FQ'] ]; var DEBRANCH_URL = { DEV : 'https://rvcgateway.paas.cmbchina.cn', ST : 'https://rvcgateway.paasst.cmbchina.cn', UAT : 'https://rvcgateway.paasuat.cmbchina.cn', PRD : 'https://rvcgateway.paas.cmbchina.cn' }; var CENTERSETTING_URL = { DEV : '', ST : 'http://centerconfig.paasst.cmbchina.cn', UAT : '', PRD : 'https://centerconfig.paas.cmbchina.com' } function DisplayVendorFriendName(abbr) { for(var n=0; n < VENDOR.length; ++n) { if(abbr === VENDOR[n]) { return VENDOR_ZHCN[n]; } } return ''; } var globalFinishedFlag = false; var globalInterestRootFlag = false; var globalAdapterFileNameList = []; var globalAdapterFileNameStatus = []; var globalAdapterOpenParamPort = []; var globalAdapterOpenParamBaudrate = []; var globalLastRemberAdapterName = ''; var globalLastRemberAdapterConfigState = false; var globalTerminalNo = ''; var globalSelectVendorType = ''; var globalServerUsingHeadOffice = true; var adapterTestFailedCount = 0; var apdaterTestAllBefore = 0; function clearAdapterSelectedValue() { $('#gui_adapter_config_adapter').empty(); $('#gui_adapter_config_adapter').attr("value", ''); $('#guide_adapter_config_port_input').val(''); $('#guide_adapter_config_baudrate_input').val(''); } function generateAdapterSelect(devices, status, select_id) { var deviceLength = 0; if ((devices) instanceof Array) { deviceLength = devices.length; } else { deviceLength = 1 } var devicesHtml = ''; var selectid = select_id; $('#' + selectid).empty(); for (var loop = 0; loop < deviceLength; loop++) { var cur = devices[loop]; var deviceTemplateData = { loop: loop, deviceName : cur, type: selectid }; var pushHtml = ''; pushHtml = '
0) { $('#gui_init_param_device_model').text(deviceTypes[0]); $('#gui_init_param_device_model').attr("value", deviceTypes[0]); } } } } function BranchTypeSelectChange(widget) { var switchon = false; var classlist = $(widget).attr('class'); if (classlist.indexOf('switch_on_disable') >= 0 || classlist.indexOf('switch_off_disable') >= 0) { return; } if (classlist.indexOf('switch_on') >= 0) { switchon = true; } if(switchon) { $('#guide_init_param_server_ip_name').html('总行微服务 URL'); InitTerminalRegistInfoUrl(); } else { $('#guide_init_param_server_ip_name').html('分行服务 IP'); $('#guide_server_ip').val(""); } } //正式环境该参数不可选 function VendorSelectChanged(name) { var deviceName = $('#gui_adapter_config_device').attr('value'); var vendorName = name.toLowerCase(); FulfillDevAdapterFileList(deviceName, vendorName, globalInterestRootFlag, false); } function DeviceSelectChange(name) { var vendorName = $('#gui_adapter_config_vendor').attr('value').toLowerCase(); FulfillDevAdapterFileList(name, vendorName, globalInterestRootFlag, false); } function setInputTextStatus(err, classID) { if (err && $('#' + classID).hasClass('input_normal')) { $('#' + classID).removeClass('input_normal'); $('#' + classID).addClass('input_normal_error'); } else if(!err && !$('#' + classID).hasClass('input_normal')) { $('#' + classID).removeClass('input_normal_error'); $('#' + classID).addClass('input_normal'); } } function setSelectInputStatus(err, classID) { if (err && $('#' + classID).hasClass('select_on_normal')) { $('#' + classID).removeClass('select_on_normal'); $('#' + classID).addClass('select_on_normal_error'); } else if(!err && !$('#' + classID).hasClass('select_on_normal')) { $('#' + classID).removeClass('select_on_normal_error'); $('#' + classID).addClass('select_on_normal'); } } var flickInvaliInterval = 0; function adapeterNameInputFlick() { var flag = ((flickInvaliInterval % 2) == 0); flickInvaliInterval += 1; setSelectInputStatus(flag, 'gui_adapter_config_adapter'); setInputTextStatus(flag, 'guide_adapter_config_port_input_div'); setInputTextStatus(flag, 'guide_adapter_config_baudrate_input_div'); } function invalidFilck() { flickInvaliInterval = 0; let clock = 6 let timer = setInterval(function () { clock-- adapeterNameInputFlick(); if (clock == 0) { clearInterval(timer); } }, 240) } function rebindBtnClick(classID, callback) { $('#' + classID).prop("onclick",null).off("click");; $('#' + classID).unbind('click'); if(callback) { $('#' + '#' + classID).bind('click', callback); } } function setTestAllBtnStatus(enable) { setBtnStatus(enable, 'guide_adapter_config_test') } function setTestBtnStatus(enable) { setBtnStatus(enable, 'gui_adapter_config_adapter_check_btn') } function setSaveBtnStatus(enable) { setBtnStatus(enable, 'guide_adapter_config_save') } function setNextBtnStatus(enable) { setBtnStatus(enable, 'guide_adapter_config_next') } function InterestRootSwitch(flag) { if ($('#gui_adapter_config_root_interest_switch').hasClass('switch_on')) { globalInterestRootFlag = true; } else { globalInterestRootFlag = false; } setSaveBtnStatus(!globalInterestRootFlag); if(typeof flag == 'undefined') LoadDeviceAdaptersWithEvent(true); else LoadDeviceAdaptersWithEvent(); //setTestAllBtnStatus(globalInterestRootFlag); } function MediaDeviceSelectChange(evt) { var obj = evt.parentElement.parentElement; var value = evt.textContent; var obj_id = obj.id; if(obj_id === 'gui_media_config_audio_output_outfree_list') { var loundspeakers_in_value = $('#gui_media_config_audio_output_infree').attr('value'); if(loundspeakers_in_value !== '' && value === loundspeakers_in_value) { utilShowToast('该设备已在话筒扬声器中被选择!'); } } else if(obj_id === 'gui_media_config_audio_output_infree_list') { var loundspeakers_out_value = $('#gui_media_config_audio_output_outfree').attr('value'); if(loundspeakers_out_value !== '' && value === loundspeakers_out_value) { utilShowToast('该设备已在外部扬声器中被选择!'); } }else if(obj_id === 'gui_media_config_audio_input_outfree_list') { var microphones_in_value = $('#gui_media_config_audio_input_infree').attr('value'); if(microphones_in_value !== '' && value === microphones_in_value) { utilShowToast('该设备已在话筒麦克风中被选择!'); } }else if(obj_id === 'gui_media_config_audio_input_infree_list') { var microphones_out_value = $('#gui_media_config_audio_input_outfree').attr('value'); if(microphones_out_value !== '' && value === microphones_out_value) { utilShowToast('该设备已在外部麦克风中被选择!'); } } } $(function () { function StartBasicHardwareEntity(entityName, sucCallback, failCallback) { let req = new Request(); req.option = 1; //启动实体 req.additional = 0; req.devId = 0; req.entityName = entityName; req.force = true; req.param = ''; req.reserved1 = 0; req.reserved2 = ''; req.timeout = 60000; RVC.HealthmanagerEntityCtrl.ControlEntityLife(req, function(ret) { if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { if(sucCallback) { utilShowToast("启动模块" + entityName + "成功!", 3000); sucCallback(); } } else { utilShowToast("启动模块" + entityName + "失败:[" + result.result + "] " + result.msg, 5000); if(failCallback) { failCallback(); } } } else { utilShowToast("请求失败:" + ErrorCodeStringfy(ret.errorCode)); if(failCallback) { failCallback(); } } }); } function AbortDeployConfig(finished) { RVC.HealthmanagerEntityCtrl.QuitApp(true); RVC.GuideController.hideAllPage(); RVC.GuideController.hideAllRebootTipElem(); $('#guide_quit_loading').show(); $('#guide_reboot_page').show(); } function ResetDeployConfig() { let req = new Request(); req.preStep = DeployStepChain.Begin[preStepIndex]; req.currStep = DeployStepChain.Begin[curStepIndex]; req.nextStep = DeployStepChain.Begin[nextStepIndex]; req.param1 = 0; req.param2 = 0; req.param3 = ''; req.param4 = ''; req.param5 = ''; req.array1 = [0]; req.array2 = ['']; req.additional = 0; req.options = 1;//重置标识 req.restartApp = true; req.restartPC = false; if(req.restartApp) { utilStartSubmitDialog("重置成功将会自动重启应用,请耐心等候..."); } else { utilStartSubmitDialog(); } RVC.HealthmanagerEntityCtrl.DeployTerminal(req, function(ret) { utilStopSubmitDialog(); if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { if(req.restartApp || req.restartPC) { RVC.GuideController.hideAllPage(); RVC.GuideController.hideAllRebootTipElem(); if(req.restartApp) { $('#guide_restart_loading').show(); } else if(req.reboot_pagrestartPC) { $('#guide_reboot_loading').show(); } $('#guide_reboot_page').show(); } } else { utilStartAlertDialog("操作失败:[" + result.result + "] " + result.additionalMsg); } } else { RVC.HealthmanagerEntityCtrl.commErrorCallback(ret); } }); } function UrlConnectableTest(url, err_tip_id, check_btn_id) { let req = new Request(); req.protocol = 4; //Http Probe req.ip = url; req.port = 0; req.reserved1 = 0; req.reserved2 = ''; function showErrTips(val) { setTimeout(function () { $('#' + err_tip_id).addClass('hide'); }, 2000); $('#' + err_tip_id).removeClass('hide') .removeClass('guide_input_descript').addClass('guide_error').html(val); } function showSuccTips(val) { setTimeout(function () { $('#' + err_tip_id).addClass('hide'); }, 2000); $('#'+ err_tip_id).removeClass('hide') .removeClass('guide_error').addClass('guide_input_descript').html(val); } if(!checkUrl(url)) { showErrTips('无效URL格式'); return; } showSuccTips('正在连接验证...'); setBtnStatus(false, check_btn_id); RVC.DeviceControlEntityCtrl.TestConnectivity(req, function(ret) { setBtnStatus(true, check_btn_id); if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result >= 0) { showSuccTips('可正常连接: ' + result.result); } else { console.log(result.additionalMsg); showErrTips('连接失败:' + result.result + ", " + result.additionalMsg); } } else { let tips = url + ' 测试失败:' + ErrorCodeStringfy(ret.errorCode); showErrTips(tips); } }); } function IPConnectableTest(ip) { let req = new Request(); req.protocol = 1; //Ping req.ip = ip; req.port = 0; req.reserved1 = 0; req.reserved2 = ''; function showErrTips(val) { setTimeout(function () { $('#text_guide_init_param_ip_tips').addClass('hide'); }, 2000); $('#text_guide_init_param_ip_tips').removeClass('hide') .removeClass('guide_input_descript').addClass('guide_error').html(val); } function showSuccTips(val) { setTimeout(function () { $('#text_guide_init_param_ip_tips').addClass('hide'); }, 2000); $('#text_guide_init_param_ip_tips').removeClass('hide') .removeClass('guide_error').addClass('guide_input_descript').html(val); } if(!isValidIpAddress(ip)) { showErrTips('无效IP格式'); return; } RVC.DeviceControlEntityCtrl.TestConnectivity(req, function(ret) { if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { showSuccTips('可正常连接'); } else { console.log(result.additionalMsg); showErrTips('连接失败:' + result.additionalMsg); } } else { let tips = ip + ' 测试失败:' + ErrorCodeStringfy(ret.errorCode); showErrTips(tips); } }); } function InitCenterSettingsDownloadUrl() { $('#guide_sync_centersetting_server_ip_content').val(CENTERSETTING_URL.PRD); let req = new Request(); req.configType = 4; //Config_Shell req.section = "CenterSettingsDownloadUrl"; req.option = false; req.key = "LAN"; req.reserved1 = 1; req.reserved2 = 0; req.reserved3 = ''; req.reserved4 = ''; RVC.DeviceControlEntityCtrl.ReadConfigValue(req, function(ret) { if (ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.value !== '') { $('#guide_sync_centersetting_server_ip_content').val(result.value); } } }); } function GetTerminalBaseInfo(callback, flag) { let req = new Request(); req.preStep = DeployStepChain.GetTerminalInfo[curStepIndex]; req.currStep = DeployStepChain.GetTerminalInfo[curStepIndex]; req.nextStep = DeployStepChain.GetTerminalInfo[curStepIndex]; req.param1 = 0; req.param2 = 0; req.param3 = ''; req.param4 = ''; req.param5 = ''; req.array1 = [0]; req.array2 = ['']; req.options = 1; //获取缓存基本信息 req.additional = 0; req.restartApp = false; req.restartPC = false; globalTerminalNo = ''; globalSelectVendorType = ''; RVC.HealthmanagerEntityCtrl.DeployTerminal(req, function(ret) { if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { if(result.array2.length === 3) { globalTerminalNo = result.array2[0]; globalSelectVendorType = result.array2[1]; if(callback) { callback(); } } } else { if(typeof type !== 'undefined') { utilStartAlertDialog("操作失败:[" + result.result + "] " + result.additionalMsg); } else { utilShowToast("操作失败:[" + result.result + "] " + result.additionalMsg); } } } else { if(typeof type !== 'undefined') { utilStartAlertDialog("操作失败! ErrorCode: " + ErrorCodeStringfy(ret.errorCode)); } else { utilShowToast("操作失败! ErrorCode: " + ErrorCodeStringfy(ret.errorCode)); } } }); } //暂时不使用,不进行切换逻辑,直接走总行下载集中配置 function InitCenterSettingInputParamSetBranchIP() { // if(checkUrl(globalServerIP)) { // $('#guide_sync_centersetting_server_ip_content').attr('value', CENTERSETTING_URL.PRD); // $('#sync_centersetting_content_ip_label').html('总行微服务 URL'); // $('#guide_sync_centersetting_port_text').hide(); // $('#guide_sync_centersetting_port_tips').hide(); // } else if(isValidIpAddress(globalServerIP)) { // $('#sync_centersetting_content_ip_label').html('分行服务 IP'); // $('#guide_sync_centersetting_port_text').show(); // $('#guide_sync_centersetting_port_tips').hide(); // } } function InitCenterSettingInputParam() { $('#guide_sync_centersetting_server_ip_content').attr('value', CENTERSETTING_URL.PRD); $('#sync_centersetting_content_ip_label').html('集中配置总行下载 URL'); $('#guide_sync_centersetting_port_text').hide(); $('#guide_sync_centersetting_port_tips').hide(); InitCenterSettingsDownloadUrl(); } function TestAllAdapterAvailableOrNot() { let req = new Request(); req.filename= ''; req.type = 1; req.options = 1; //遇到一个硬件报错立即返回 req.port = 0; req.baudrate = 0; req.param1 = 0; req.param2 = 0; req.param3 = ""; req.param4 = ""; apdaterTestAllBefore = 1; if(req.options == 0) { req.timeout = 120000; utilStartSubmitDialog('涉及到多个硬件模块,此操作将花费较长的时间,请耐心等候...', 'btnCancelAdapterTest', '中断'); $(document).on('click', '#btnCancelAdapterTest', function() { utilStopSubmitDialog(); }); } else { req.timeout = 60000; utilStartSubmitDialog('将逐一加载硬件适配器文件并尝试打开硬件设备,此操作可能需花费较长时间,请耐心等候...'); } EventEmitter.subscribe('AdapterTestResult','TestAllAdapterAvailableOrNot', (evt)=> { let result = JSON.parse(evt[RVC.EntityController.sigResponseUUID]); console.log(result.result + ";" + result.adapterInfo + ";" + result.errMsg); if(0 == result.result) { utilShowToast(result.adapterInfo + '验证成功!'); } else { utilShowToast(result.adapterInfo + '验证失败:' + result.errMsg); apdaterTestAllBefore = 1; } }); RVC.DeviceControlEntityCtrl.TestAdapterFileAvailable(req, function(ret) { utilStopSubmitDialog(); EventEmitter.unsubscribe('AdapterTestResult','TestAllAdapterAvailableOrNot'); if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.status == 0) { apdaterTestAllBefore = 2; utilStartConfirmDialog('所有硬件配置验证通过!点击确认进入下一步,取消则不进行任何操作(后续可通过页面上的[跳过]菜单进入下一步)', function() { FinshedDevAdapterConfig(); }); } else { var errmsg = ''; var firstAdapterName = ''; for (var n = 0; n < result.reserved1.length; n++) { console.log(result.reserved2[n] + ': ' + result.reserved3[n]); if(errmsg !== '') errmsg += '
'; errmsg += '' + result.reserved2[n] + ': ' + result.reserved3[n]; if(firstAdapterName === '') firstAdapterName = result.reserved2[n]; } if(firstAdapterName !== '') { for(var n=0; n < globalAdapterFileNameList.length; n++) { if(globalAdapterFileNameList[n] === firstAdapterName) { globalLastRemberAdapterName = globalAdapterFileNameList[n]; globalLastRemberAdapterConfigState = (globalAdapterFileNameStatus[n] & 0x2); FulfillAdapterCurrentSelect(globalLastRemberAdapterName, globalLastRemberAdapterConfigState); break; } } } var tips = "检测失败!请修改硬件配置或检查硬件是否可用:

" + errmsg + ""; utilStartAlertDialog(tips, function() { invalidFilck(); }); } } else { if(parseInt(ret.errorCode, 10) == ErrorCodeEnum.Error_NetBroken) { utilStartAlertDialog("请求失败:" + ErrorCodeStringfy(ret.errorCode) + "
猜测是验证硬件模块时引起实体进程异常退出,请检查配置或硬件再重试!"); setTimeout(function () { StartBasicHardwareEntity("DeviceControl"); }, 300); } else { utilStartAlertDialog("请求失败:" + ErrorCodeStringfy(ret.errorCode)); } } }); } function InitCurrentVendorSelect() { if(globalSelectVendorType === '') { GetTerminalBaseInfo(function() { const vendorZhCnName = DisplayVendorFriendName(globalSelectVendorType); $('#gui_adapter_config_vendor').attr('value', globalSelectVendorType); $('#gui_adapter_config_vendor').html(vendorZhCnName); }); } else { const vendorZhCnName = DisplayVendorFriendName(globalSelectVendorType); $('#gui_adapter_config_vendor').attr('value', globalSelectVendorType); $('#gui_adapter_config_vendor').html(vendorZhCnName); } } function InitTemrinalAbout(server_ip, new_terminalno, terminalType, vendorName, deviceModel, deviceSN, headBranchOrNot) { let req = new Request(); req.preStep = DeployStepChain.GetTerminalInfo[preStepIndex]; req.currStep = DeployStepChain.GetTerminalInfo[curStepIndex]; req.nextStep = DeployStepChain.GetTerminalInfo[nextStepIndex]; if(headBranchOrNot) req.param1 = 1; else req.param1 = 0; req.param2 = 0; req.param3 = server_ip; req.param4 = new_terminalno + '|' + terminalType; req.param5 = ''; req.array1 = [0,0,0]; req.array2 = [vendorName, deviceModel, deviceSN]; req.options = 0; req.additional = 1; //重命名root.ini req.restartApp = true; req.restartPC = false; req.timeout = 60000; //网络连接,延长时间,让实体自身反馈报错 if(req.restartApp) { utilStartSubmitDialog("正在请求,处理成功将会自动执行应用重启,请耐心等候..."); } else { utilStartSubmitDialog(); } RVC.HealthmanagerEntityCtrl.DeployTerminal(req, function(ret) { utilStopSubmitDialog(); if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { if(req.restartApp || req.restartPC) { RVC.GuideController.hideAllPage(); RVC.GuideController.hideAllRebootTipElem(); if(req.restartApp) { $('#guide_restart_loading').show(); } else if(req.restartPC) { $('#guide_reboot_loading').show(); } $('#guide_reboot_page').show(); } else { utilStartAlertDialog("信息录入成功,即将进入下一步", function() { RVC.GuideController.gotoPage(result.nextStep, false); }); } } else { utilStartAlertDialog("操作失败:[" + result.result + "] -- " + result.additionalMsg); } } else { RVC.HealthmanagerEntityCtrl.commErrorCallback(ret); } }); } function DownloadCenterSetting(ip, port) { let req = new Request(); req.preStep = DeployStepChain.FetchCenterSettings[preStepIndex]; req.currStep = DeployStepChain.FetchCenterSettings[curStepIndex]; req.nextStep = DeployStepChain.FetchCenterSettings[nextStepIndex]; req.param1 = 0; req.param2 = 0; if(typeof port !== 'undefined') { req.param1 = parseInt(port, 10); } else { req.param2 = 1; } req.param3 = ip; req.options = 0; req.additional = 0; req.restartApp = false; req.restartPC = false; req.param4 = ''; req.param5 = ''; req.array1 = [0]; req.array2 = ['']; utilStartSubmitDialog(); RVC.HealthmanagerEntityCtrl.DeployTerminal(req, function(ret) { utilStopSubmitDialog(); if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { utilStartAlertDialog("操作成功,即将进入下一步", function() { RVC.GuideController.gotoPage(result.nextStep, false); }); } else { utilStartAlertDialog("操作失败:[" + result.result + "] " + result.additionalMsg); } } else { RVC.HealthmanagerEntityCtrl.commErrorCallback(ret); } }); } function InitAccessAuthParam() { let req = new Request(); req.entityName = 'AccessAuthorization' req.key = 'Server' $('#guide_access_authorize_server_ip_content').val(''); $('#guide_access_authorize_port_content').val(''); RVC.DeviceControlEntityCtrl.ReadCenterConfigStr(req, function(ret){ if(ret.errorCode === 0) { console.log('fetch auth addr from centersettins succ.'); 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)) { $('#guide_access_authorize_server_ip_content').val(addr); $('#guide_access_authorize_port_content').val(port); var serveraddr = addr + ':' + port; console.log(serveraddr); } else { utilShowToast("获取准入配置信息有误,请检查集中配置文件!", 5000); } } else { utilShowToast("获取准入配置信息失败! ErrorCode: " + ErrorCodeStringfy(ret.errorCode)); } }); } function AuthorizeTerminal(ip, port, username, password) { let req = new Request(); req.preStep = DeployStepChain.AccessAuthorize[preStepIndex]; req.currStep = DeployStepChain.AccessAuthorize[curStepIndex]; req.nextStep = DeployStepChain.AccessAuthorize[nextStepIndex]; req.param1 = parseInt(port, 10); req.param2 = 0; req.param3 = ip; req.param4 = ''; req.options = 0; req.additional = 0; req.restartApp = false; req.restartPC = false; req.param5 = ''; req.array1 = [0,0]; req.array2 = [username, password]; req.timeout = 65000; utilStartSubmitDialog(); RVC.HealthmanagerEntityCtrl.DeployTerminal(req, function(ret) { utilStopSubmitDialog(); if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { utilStartAlertDialog("操作成功,即将进入下一步", function() { RVC.GuideController.gotoPage(result.nextStep, false); }); } else { utilStartAlertDialog("操作失败:[0x" + result.result.toString(16) + "] " + result.additionalMsg); } } else { RVC.HealthmanagerEntityCtrl.commErrorCallback(ret); } }); } function generateMediaDeviceSelect(devices, select_id) { var deviceLength = 0; if ((devices) instanceof Array) { deviceLength = devices.length; } else { deviceLength = 1 } var devicesHtml = ''; var selectid = select_id; $('#' + selectid).empty(); for (var loop = 0; loop < deviceLength; loop++) { var cur = devices[loop]; var deviceTemplateData = { loop: loop, deviceName : cur, type: selectid }; var pushHtml = ''; pushHtml = '
' pushHtml += '{{deviceName}}
' $('#' + selectid).secureAppend(pushHtml, deviceTemplateData); } } function FulfillMediaDeviceList(flag) { let req = new Request(); req.type = 6; //1,2,4不需要摄像头配置 req.interest = 0; req.reserverd1 = 0; req.reserverd2 = ''; req.reserverd2 = ''; RVC.CameraConfigEntity.GetMediaAvailableList(req, function(ret) { if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) console.log('device count: ' + result.result); var microphones = []; var loundspeakers = []; var cameras = []; const inner_deault = '内置音频'; var microphones_in_value = $('#gui_media_config_audio_input_infree').attr('value'); var microphones_in_exist = false; var microphones_inner_exist = false; var microphones_out_value = $('#gui_media_config_audio_input_outfree').attr('value'); var microphones_out_exist = false; var loundspeakers_in_value = $('#gui_media_config_audio_output_infree').attr('value'); var loundspeakers_in_exist = false; var loundspeakers_inner_exist = false; var loundspeakers_out_value = $('#gui_media_config_audio_output_outfree').attr('value'); var loundspeakers_out_exist = false; for (var n = 0; n < result.AvailableList.length; n++) { console.log(result.AvailableList[n] + ' ' + result.ListItemType[n] + ' ' + result.ListItemStatus[n]); if(result.ListItemType[n] == MEDIA_TYPE.MICROPHONE) { microphones.push(result.AvailableList[n]); if(microphones_in_value !== '' && microphones_in_value === result.AvailableList[n]){ microphones_in_exist = true; } if(microphones_out_value !== '' && microphones_out_value === result.AvailableList[n]){ microphones_out_exist = true; } if(inner_deault === result.AvailableList[n]) { microphones_inner_exist = true; } } else if(result.ListItemType[n] == MEDIA_TYPE.LOUNDSPEAKER) { loundspeakers.push(result.AvailableList[n]); if(loundspeakers_out_value !== '' && loundspeakers_out_value === result.AvailableList[n]){ loundspeakers_out_exist = true; } if(loundspeakers_in_value !== '' && loundspeakers_in_value === result.AvailableList[n]){ loundspeakers_in_exist = true; } if(inner_deault === result.AvailableList[n]) { loundspeakers_inner_exist = true; } } else if(result.ListItemType[n] == MEDIA_TYPE.CAMERA) { cameras.push(result.AvailableList[n]); } } generateMediaDeviceSelect(loundspeakers, 'gui_media_config_audio_output_outfree_list'); generateMediaDeviceSelect(loundspeakers, 'gui_media_config_audio_output_infree_list'); generateMediaDeviceSelect(microphones, 'gui_media_config_audio_input_outfree_list'); generateMediaDeviceSelect(microphones, 'gui_media_config_audio_input_infree_list'); if(typeof flag !== 'undefined') { if(!microphones_in_exist) { $('#gui_media_config_audio_input_infree').empty(); $('#gui_media_config_audio_input_infree').attr('value', ''); } if(!microphones_out_exist){ $('#gui_media_config_audio_input_outfree').empty(); $('#gui_media_config_audio_input_outfree').attr('value', ''); } if(!loundspeakers_in_exist){ $('#gui_media_config_audio_output_infree').empty(); $('#gui_media_config_audio_output_infree').attr('value', ''); } if(!loundspeakers_out_exist) { $('#gui_media_config_audio_output_outfree').empty(); $('#gui_media_config_audio_output_outfree').attr('value', ''); } utilShowToast("已刷新"); } else { if(microphones_inner_exist) { $('#gui_media_config_audio_input_infree').text(inner_deault); $('#gui_media_config_audio_input_infree').attr('value', inner_deault); } if(loundspeakers_inner_exist) { $('#gui_media_config_audio_output_infree').text(inner_deault); $('#gui_media_config_audio_output_infree').attr('value', inner_deault); } } } else if(typeof flag !== 'undefined'){ RVC.CameraConfigEntity.commErrorCallback(ret); } }); } function SaveMediaDeviceConfig() { //话筒扬声器 var output_infree = $('#gui_media_config_audio_output_infree').attr('value'); //外部扬声器 var output_outfree = $('#gui_media_config_audio_output_outfree').attr('value'); //话筒麦克风 var input_infree = $('#gui_media_config_audio_input_infree').attr('value'); //外部麦克风 var input_outfree = $('#gui_media_config_audio_input_outfree').attr('value'); if(output_outfree === '') { utilStartAlertDialog('请选择外部扬声器'); return; } if(output_infree === '') { utilStartAlertDialog('请选择话筒扬声器'); return; } if(input_outfree === '') { utilStartAlertDialog('请选择外部麦克风'); return; } if(input_infree === '') { utilStartAlertDialog('请选择话筒麦克风'); return; } if(output_infree == output_outfree) { utilStartAlertDialog('扬声器选取冲突,请重新选择'); return; } if(input_infree == input_outfree) { utilStartAlertDialog('麦克风选取冲突,请重新选择'); return; } let req = new Request(); req.preStep = DeployStepChain.MediaConfig[preStepIndex]; req.currStep = DeployStepChain.MediaConfig[curStepIndex]; req.nextStep = DeployStepChain.MediaConfig[nextStepIndex]; req.additional = 0; req.options = 1; //0:保存在临时文件,1:保存在root.ini req.restartApp = false; req.restartPC = false; req.param1 = 0; req.param2 = 0; req.param3 = ''; req.param4 = ''; req.param5 = ''; req.array1 = [MEDIA_DETAIL_TYPE.MediaDev_OutSpeaker, MEDIA_DETAIL_TYPE.MediaDev_InSpeaker, MEDIA_DETAIL_TYPE.MediaDev_OutMicrophone, MEDIA_DETAIL_TYPE.MediaDev_InMicrophone]; req.array2 = [output_outfree, output_infree, input_outfree, input_infree]; utilStartSubmitDialog(); RVC.HealthmanagerEntityCtrl.DeployTerminal(req, function(ret) { utilStopSubmitDialog(); if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { if(req.restartApp || req.restartPC) { RVC.GuideController.hideAllPage(); RVC.GuideController.hideAllRebootTipElem(); if(req.restartApp) { $('#guide_restart_loading').show(); } else if(req.restartPC) { $('#guide_reboot_loading').show(); } $('#guide_reboot_page').show(); } else { utilStartAlertDialog("操作成功,即将进入下一步", function() { RVC.GuideController.gotoPage(result.nextStep, false); }); } } else { utilStartAlertDialog("操作失败:[" + result.result + "] " + result.additionalMsg); } } else { RVC.HealthmanagerEntityCtrl.commErrorCallback(ret); } }); } //硬件测试接口 function CheckDevAdapterAvailable(adapter, port, baudrate) { let req = new Request(); req.filename= adapter; req.type = 0; req.options = 0; req.port = parseInt(port, 10); req.baudrate = parseInt(baudrate, 10); req.param1 = 0; req.param2 = 0; req.param3 = ""; req.param4 = ""; req.timeout = 60000; console.log("check adapter: " + adapter + " " + port + " " + baudrate); utilStartSubmitDialog(); RVC.DeviceControlEntityCtrl.TestAdapterFileAvailable(req, function(ret) { utilStopSubmitDialog(); if(ret.errorCode === 0) { if(adapterTestFailedCount != 0) { adapterTestFailedCount = 0; } let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.status == 0) { utilShowToast("适配器文件成功加载;尝试打开设备成功!", 1500); } else { utilStartAlertDialog("验证失败:[" + result.status + "] " + result.msg); } } else { if(parseInt(ret.errorCode, 10) == ErrorCodeEnum.Error_NetBroken) { adapterTestFailedCount++; if(adapterTestFailedCount >= 3) { utilStartAlertDialog("检测到多次调用测试通道失败,将尝试重启关联模块", function() { utilShowToast('尝试重启关联模块,请稍后', 5000); setTestBtnStatus(false); StartBasicHardwareEntity("DeviceControl", function(){ setTestBtnStatus(true); adapterTestFailedCount = 0; },function(){ setTestBtnStatus(true); }); }); } else { utilStartAlertDialog("请求失败:" + ErrorCodeStringfy(ret.errorCode)); } } else { utilStartAlertDialog("请求失败:" + ErrorCodeStringfy(ret.errorCode)); } } }); } function SaveDevAdapterInfo(adapter, port, baudrate) { let req = new Request(); req.preStep = DeployStepChain.AdapterConfig[curStepIndex]; req.currStep = DeployStepChain.AdapterConfig[curStepIndex]; req.nextStep = DeployStepChain.AdapterConfig[curStepIndex]; req.param1 = parseInt(port, 10); req.param2 = parseInt(baudrate, 10); req.param3 = adapter; req.param4 = ''; req.param5 = ''; req.array1 = [0]; req.array2 = ['']; req.options = 0x2; //0x1:更新到临时的root.ini; 0x2:更新到root.ini req.additional = 0; req.restartApp = false; req.restartPC = false; setSaveBtnStatus(false); RVC.HealthmanagerEntityCtrl.DeployTerminal(req, function(ret) { setSaveBtnStatus(true); if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { globalLastRemberAdapterName = adapter; console.log('save adapter info'); utilShowToast('已保存,将重新刷新', 1000, function() { LoadDeviceAdaptersWithEvent(false); }); } else { utilStartAlertDialog("保存失败:[" + result.result + "] " + result.additionalMsg); } } else { RVC.HealthmanagerEntityCtrl.commErrorCallback(ret); } }); } /** * 结束基本硬件配置后的操作 */ function FinshedDevAdapterConfig() { let req = new Request(); req.preStep = DeployStepChain.AdapterConfig[preStepIndex]; req.currStep = DeployStepChain.AdapterConfig[curStepIndex]; req.nextStep = DeployStepChain.AdapterConfig[nextStepIndex]; req.param1 = 1; //Start req.param2 = 1; //Force req.param3 = 'PinPad'; req.param4 = ''; //Start param req.param5 = ''; req.array1 = [0]; req.array2 = ['']; req.options = 0x4; //ControlEntity req.additional = 0; req.restartApp = false; req.restartPC = false; utilStartSubmitDialog(); RVC.HealthmanagerEntityCtrl.DeployTerminal(req, function(ret) { utilStopSubmitDialog(); if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { RVC.GuideController.gotoPage(result.nextStep, false); // utilStartAlertDialog("操作成功,即将进入下一步", function() { // }); } else { utilStartAlertDialog("操作失败:[" + result.result + "] " + result.additionalMsg); } } else { RVC.HealthmanagerEntityCtrl.commErrorCallback(ret); } }); } function FinshedDeploy() { //RVC.HealthmanagerEntityCtrl.ControlTerminalLifeNo(1); let req = new Request(); req.preStep = DeployStepChain.Finished[preStepIndex]; req.currStep = DeployStepChain.Finished[curStepIndex]; req.nextStep = DeployStepChain.Finished[nextStepIndex]; req.param1 = 0; req.param2 = 0; req.param3 = ''; req.param4 = ''; req.param5 = ''; req.array1 = [0]; req.array2 = ['']; req.additional = 0; req.options = 0; req.restartApp = true; req.restartPC = false; if(req.restartApp) { utilStartSubmitDialog("请求重启应用,请稍后..."); } else { utilStartSubmitDialog(); } RVC.HealthmanagerEntityCtrl.DeployTerminal(req, function(ret) { utilStopSubmitDialog(); if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { if(req.restartApp || req.restartPC) { RVC.GuideController.hideAllPage(); RVC.GuideController.hideAllRebootTipElem(); if(req.restartApp) { $('#guide_restart_loading').show(); } else if(req.restartPC) { $('#guide_reboot_loading').show(); } $('#guide_reboot_page').show(); } } else { utilStartAlertDialog("操作失败:[" + result.result + "] " + result.additionalMsg); } } else { RVC.HealthmanagerEntityCtrl.commErrorCallback(ret); } }); } function FontInstallStateSwitch(installState) { if(installState === 0) { $('#guide_font_installed_div').hide(); $('#guide_font_installed_sample_div').hide(); $('#guide_font_noinstall_div').show(); $('#guide_font_confirm_next').hide(); $('#guide_font_confirm_install').show(); } else if(installState === 1) { var tip = '检测到字体已安装'; $('#guide_font_installed_content').html(tip); $('#guide_font_noinstall_div').hide(); $('#guide_font_installed_div').show(); $('#guide_font_installed_sample_div').show(); $('#guide_font_confirm_install').hide(); $('#guide_font_confirm_next').show(); } else if(installState === 2) { var tip = '字体安装成功!'; $('#guide_font_installed_content').html(tip); $('#guide_font_noinstall_div').hide(); $('#guide_font_installed_div').hide(); $('#guide_font_installed_sample_div').hide(); $('#guide_font_confirm_install').hide(); $('#guide_font_confirm_next').show(); $('#guide_font_install_finished_div').show(); } } function SogouInstallStateSwitch(installState) { if(installState === 0) { $('#guide_sogou_installed_div').hide(); $('#guide_sogou_noinstall_div').show(); $('#guide_sogou_install_next').hide(); $('#guide_sogou_install_start').show(); } else if(installState === 1) { $('#guide_sogou_noinstall_div').hide(); $('#guide_sogou_installed_div').show(); $('#guide_sogou_install_start').hide(); $('#guide_sogou_install_next').show(); } else if(installState === 2) { $('#guide_sogou_noinstall_div').hide(); $('#guide_sogou_installed_div').hide(); $('#guide_sogou_install_start').hide(); $('#guide_sogou_install_next').show(); $('#guide_sogou_install_finished_div').show(); } } function InstallSpecifiesFont() { let req = new Request(); req.preStep = DeployStepChain.FontInstall[preStepIndex]; req.currStep = DeployStepChain.FontInstall[curStepIndex]; req.nextStep = DeployStepChain.FontInstall[nextStepIndex]; req.param1 = 0; req.param2 = 0; req.param3 = ''; req.param4 = ''; req.param5 = ''; req.array1 = [0]; req.array2 = ['']; req.options = 2; req.additional = 0; req.restartApp = false; req.restartPC = false; req.timeout = 60000; utilStartSubmitDialog(); RVC.HealthmanagerEntityCtrl.DeployTerminal(req, function(ret) { utilStopSubmitDialog(); if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { FontInstallStateSwitch(2); } else { utilStartAlertDialog("安装失败:[" + result.result + "] " + result.additionalMsg); } } else { RVC.HealthmanagerEntityCtrl.commErrorCallback(ret); } }); } function InstallSogouInput() { let req = new Request(); req.preStep = DeployStepChain.SogouInstall[preStepIndex]; req.currStep = DeployStepChain.SogouInstall[curStepIndex]; req.nextStep = DeployStepChain.SogouInstall[nextStepIndex]; req.param1 = 0; req.param2 = 0; req.param3 = ''; req.param4 = ''; req.param5 = ''; req.array1 = [0]; req.array2 = ['']; req.options = 2; //安装搜狗输入法 req.additional = 0; req.restartApp = false; req.restartPC = false; req.timeout = 60000; utilStartSubmitDialog(); RVC.HealthmanagerEntityCtrl.DeployTerminal(req, function(ret) { utilStopSubmitDialog(); if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { SogouInstallStateSwitch(2); var tip = '安装成功!'; if(result.array2.length === 3) { tip += '

版本:' + result.array2[0] + ''; tip += '
安装时间:' + result.array2[2] + ''; } $('#guide_sogou_install_finished_content').html(tip); } else { utilStartAlertDialog("安装失败:[" + result.result + "] " + result.additionalMsg); } } else { RVC.HealthmanagerEntityCtrl.commErrorCallback(ret); } }); } function DisplayFontInstallState() { let req = new Request(); req.preStep = DeployStepChain.FontInstall[curStepIndex]; req.currStep = DeployStepChain.FontInstall[curStepIndex]; req.nextStep = DeployStepChain.FontInstall[curStepIndex]; req.param1 = 0; req.param2 = 0; req.param3 = ''; req.param4 = ''; req.param5 = ''; req.array1 = [0]; req.array2 = ['']; req.options = 1; //检测字体的安装状态 req.additional = 0; req.restartApp = false; req.restartPC = false; RVC.HealthmanagerEntityCtrl.DeployTerminal(req, function(ret) { if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { if(result.param1 === 1) { FontInstallStateSwitch(1); } else { FontInstallStateSwitch(0); } } else { utilStartAlertDialog("查询失败:[" + result.result + "] " + result.additionalMsg); } } else { RVC.HealthmanagerEntityCtrl.commErrorCallback(ret); } }); } function DisplaySogouInstallState() { let req = new Request(); req.preStep = DeployStepChain.SogouInstall[curStepIndex]; req.currStep = DeployStepChain.SogouInstall[curStepIndex]; req.nextStep = DeployStepChain.SogouInstall[curStepIndex]; req.param1 = 0; req.param2 = 0; req.param3 = ''; req.param4 = ''; req.param5 = ''; req.array1 = [0]; req.array2 = ['']; req.options = 1; //检测输入法的安装状态 req.additional = 0; req.restartApp = false; req.restartPC = false; RVC.HealthmanagerEntityCtrl.DeployTerminal(req, function(ret) { if(ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.result == 0) { if(result.param1 === 1) { SogouInstallStateSwitch(1); var tip = '检测到输入法已安装!'; if(result.array2.length === 3) { tip += '

版本:' + result.array2[0] + ''; tip += '
安装时间:' + result.array2[2] + ''; } $('#guide_sogou_installed_content').html(tip); console.log(tip); } else { SogouInstallStateSwitch(0); } } else { utilStartAlertDialog("查询失败:[" + result.result + "] " + result.additionalMsg); } } else { RVC.HealthmanagerEntityCtrl.commErrorCallback(ret); } }); } function FulfillTerminalBasicInfo(val) { let req = new Request(); RVC.DeviceControlEntityCtrl.QueryHardwareInfo(req, function(ret){ if (ret.errorCode === 0) { let result = JSON.parse(ret[RVC.EntityController.sigResponseUUID]) if(result.terminalNo === '') { $('#page_footer #termina_no_td').hide(); } else { $('#page_footer #termina_no_td').show(); $('#page_footer #terminal_no').html('终端号:' + result.terminalNo); } //$('#machineType span').html(result.machineType); //$('#deploySite span').html(result.site); $('#page_footer #app_version').html('应用版本:' + result.termVersion); $('#page_footer #footer_local_ip').html('IP:' + result.ip[0]); $('#page_footer #footer_local_mac').html('MAC:' + result.mac[0]); $('#page_footer').show(); } else { $('#page_footer').hide(); utilShowToast("获取终端信息失败:" + ErrorCodeStringfy(ret.errorCode)); } }); } RVC.GuideController = RVC.Object.extend({ hideAllPage: function () { $('#guide_start_page').hide(); $('#guide_font_confirm_page').hide(); $('#guide_sogou_install_page').hide(); $('#guide_init_param_page').hide(); $('#guide_adapter_config_page').hide(); $('#guide_media_config_page').hide(); $('#guide_sync_centersetting_page').hide(); $('#guide_access_authorize_page').hide(); $('#guide_finish_page').hide(); $('#guide_reboot_page').hide(); }, hideAllRebootTipElem: function() { $('#reboot_operate').hide(); $('#guide_rebootinfo').hide(); $('#guide_rebootinfo_need_restart').hide(); $('#guide_rebootinfo_need_reboot').hide(); $('#guide_reboot_application_button').hide(); $('#guide_reboot_device_button').hide(); $('#guide_finished_button').hide(); $('#guide_finish_device_button').hide(); $('#guide_save_loading').hide(); $('#guide_reboot_loading').hide(); $('#guide_restart_loading').hide(); }, resizeWindow: function () { var winHei = $(window).height(); var popHeight = 480; var adjustHeight = 0; var blueBackgroundHeight = 0; if (winHei < 860) { winHei = 860; } blueBackgroundHeight = winHei - $('.headcontainer').height() - $('#page_footer').height(); $('#guide_height').height(blueBackgroundHeight); adjustHeight = (blueBackgroundHeight - popHeight) * 0.5; $('#guide_start_page').css('padding-top', (adjustHeight + 100) + 'px'); var domWidth = $('body').width(); var winWidth = $('window').width(); if (domWidth > winWidth) { setTimeout(function () { $('body').scrollTop($('.headcontainer').height() + adjustHeight); $('body').scrollLeft(($('body').width() - $(window).width()) / 2); }, 1000) } $('#guide_init_param_page').css('padding-top', adjustHeight + 'px'); $('#guide_font_confirm_page').css('padding-top', adjustHeight + 'px'); $('#guide_sogou_install_page').css('padding-top', adjustHeight + 'px'); $('#guide_media_config_page').css('padding-top', adjustHeight + 'px'); $('#guide_adapter_config_page').css('padding-top', adjustHeight + 'px'); $('#guide_sync_centersetting_page').css('padding-top', adjustHeight + 'px'); $('#guide_access_authorize_page').css('padding-top', adjustHeight + 'px'); $('#guide_finish_page,#guide_reboot_page').css('padding-top', adjustHeight + 'px'); }, beginInstall: function() { this.gotoPage(DEPLOY.DeployStep_3rdParty_FontInstall, true); }, getPage: function(step) { var select_page = ''; switch(step) { case DEPLOY.DeployStep_Begin: select_page = 'guide_start_page'; break; case DEPLOY.DeployStep_GetTerminalInfo : select_page = 'guide_init_param_page'; break; case DEPLOY.DeployStep_FetchCenterSettings: select_page = 'guide_sync_centersetting_page'; break; case DEPLOY.DeployStep_AccessAuthorize : select_page = 'guide_access_authorize_page'; break; case DEPLOY.DeployStep_MediaConfig : select_page = 'guide_media_config_page'; break; case DEPLOY.DeployStep_AdapterConfig : select_page = 'guide_adapter_config_page'; break; case DEPLOY.DeployStep_Finished : select_page = 'guide_finish_page'; break case DEPLOY.DeployStep_3rdParty_SogouInstall: select_page = 'guide_sogou_install_page'; break; case DEPLOY.DeployStep_3rdParty_FontInstall: select_page = 'guide_font_confirm_page'; break; default: break; } return select_page; }, checkPageAvailable: function(step) { const select_page = this.getPage(step); if(select_page !== '') { return true; } else { return false; } }, preLoadPage: async function(step, firstRun) { this.hideAllPage(); switch(step) { case DEPLOY.DeployStep_MediaConfig: FulfillMediaDeviceList(); break; case DEPLOY.DeployStep_AdapterConfig: adapterTestFailedCount = 0; InitCurrentVendorSelect(); break; case DEPLOY.DeployStep_FetchCenterSettings: InitCenterSettingInputParam(); break; case DEPLOY.DeployStep_AccessAuthorize: //因为无集中配置的原因,导致不能及时走灰度去分行化,所以这里要重启初始化实体 if(!firstRun) { StartBasicHardwareEntity("Initializer", function(){ utilShowToast("初始化模块成功!", 2000); },function(){ utilStartAlertDialog("初始化下一步模块失败,需重启应用尝试,点击确认将重启应用(进度仍保存)", function(){ RVC.HealthmanagerEntityCtrl.RestartApp(true); RVC.GuideController.hideAllPage(); RVC.GuideController.hideAllRebootTipElem(); $('#guide_restart_loading').show(); $('#guide_reboot_page').show(); }, "重启应用"); }); await SleepMs(2000); } break; case DEPLOY.DeployStep_3rdParty_SogouInstall: DisplaySogouInstallState(); break; case DEPLOY.DeployStep_3rdParty_FontInstall: DisplayFontInstallState(); break; default: break; } }, postLoadPage: function(step, firstRun) { switch(step) { case DEPLOY.DeployStep_Finished: globalFinishedFlag = true; break; case DEPLOY.DeployStep_GetTerminalInfo: InitTerminalRegistInfoUrl(); break; case DEPLOY.DeployStep_AdapterConfig: InterestRootSwitch(true); $(document).off('keyup change', '#guide_adapter_config_baudrate_input,#guide_adapter_config_port_input'); $(document).on('keyup change', '#guide_adapter_config_baudrate_input,#guide_adapter_config_port_input', function () { setSaveBtnStatus(true); }); apdaterTestAllBefore = 0; break; case DEPLOY.DeployStep_AccessAuthorize: InitAccessAuthParam(); break; default: break; } }, gotoPage: function(nextStep, firstRun) { var select_page = this.getPage(nextStep); if(select_page !== '') { this.preLoadPage(nextStep, firstRun); $('#' + select_page).show(); this.postLoadPage(nextStep, firstRun); } else { utilShowToast('不支持步骤!无法识别:' + nextStep, 5000); } }, sectOverPass: function() { }, sectNext: function() { }, setNavigaBtnAble: function(enable) { } }); $(document).on('click', '#guide_init_param_ip_check #ip_connect_check', function(){ if(!isButtonEnable('ip_connect_check')) { return; } var ip = $('#guide_server_ip').val(); console.log('ip: ' + ip); if(swtichStateIsOn('guide_server_type_switch')) { UrlConnectableTest(ip,'text_guide_init_param_ip_tips', 'ip_connect_check') } else { IPConnectableTest(ip); } }); $(document).on('click', '#guide_sync_centersetting_server_ip_test', function(){ if(!isButtonEnable('guide_sync_centersetting_server_ip_test')) { return; } var url = $('#guide_sync_centersetting_server_ip_content').val(); console.log('url: ' + url); UrlConnectableTest(url, 'text_guide_sync_centersetting_ip_tips', 'guide_sync_centersetting_server_ip_test'); }); $(document).on('click', '#guide_init_param_next', function() { const debranchOn = swtichStateIsOn('guide_server_type_switch'); const ip = $('#guide_server_ip').val(); if(!debranchOn && !isValidIpAddress(ip)) { utilStartAlertDialog("无效 IP 格式"); return; } else if(debranchOn && !checkUrl(ip)) { utilStartAlertDialog("无效 URL 格式"); return; } const terminalType = $('#gui_init_param_machine_type').attr('value'); if(terminalType === '' || terminalType === 'None') { utilStartAlertDialog("请选择所属终端机型"); return; } const vendorType = $('#gui_init_param_vendor').attr('value'); if(vendorType === '' || vendorType === 'None') { utilStartAlertDialog("请选择设备厂商"); return; } const deviceModel = $('#gui_init_param_device_model').attr('value'); if(deviceModel === '' || deviceModel === 'None') { utilStartAlertDialog("请选择设备型号"); return; } var tmp = $('#guide_init_param_device_sn').val(); const deviceSN = tmp.replace(/^\s*|\s*$/g,""); if(deviceSN === '') { utilStartAlertDialog("请输入设备序列号"); return; } const terminalno = $('#guide_init_param_terminalno').val(); if(!IsDigital(terminalno)) { utilStartAlertDialog("无效终端号格式"); return; } utilStartConfirmDialog("基本信息录入后将不可更改,如需重新配置可通过点击页面右上角菜单进行重置,请确认是否提交?", function() { InitTemrinalAbout(ip, terminalno, terminalType, vendorType, deviceModel, deviceSN, debranchOn); }); }); $(document).on('click', '#gui_adapter_config_adapter_check_btn', function() { var adapterName = $('#gui_adapter_config_adapter').attr('value'); var paramPort = $('#guide_adapter_config_port_input').val(); var paramBaudrate = $('#guide_adapter_config_baudrate_input').val(); CheckDevAdapterAvailable(adapterName, paramPort, paramBaudrate); }); $(document).on('click', '#guide_adapter_config_test', function() { TestAllAdapterAvailableOrNot(); }); $(document).on('click', '#guide_adapter_config_save', function() { var adapterName = $('#gui_adapter_config_adapter').attr('value'); var paramPort = $('#guide_adapter_config_port_input').val(); var paramBaudrate = $('#guide_adapter_config_baudrate_input').val(); SaveDevAdapterInfo(adapterName, paramPort, paramBaudrate); }); $(document).on('click', '#guide_adapter_config_next', function() { var tips = ''; if(apdaterTestAllBefore === 0) { tips = '还未进行过【配置有效性检测】,请确认是否要跳过?(首次安装强烈建议至少执行一次配置有效性检测)'; } else if(apdaterTestAllBefore === 1) { tips = '之前检测存在模块未通过验证,请确认是否要跳过?(强烈建议所有模块检测通过后再进入下一步)'; } if(tips !== '') { utilStartConfirmDialog(tips, function() { FinshedDevAdapterConfig(); }); } else { FinshedDevAdapterConfig(); } }); $(document).on('click', '#guide_sync_centersetting_next', function() { const ip = $('#guide_sync_centersetting_server_ip_content').val(); if(!globalServerUsingHeadOffice && !isValidIpAddress(ip)) { utilStartAlertDialog("无效IP格式"); return; } else if(globalServerUsingHeadOffice && !checkUrl(ip)) { utilStartAlertDialog("无效URL格式"); return; } if(!globalServerUsingHeadOffice) { const port = $('#guide_sync_centersetting_port_content').val(); if(!check_port(port)) { utilStartAlertDialog("无效端口号"); return; } DownloadCenterSetting(ip, port); } else { DownloadCenterSetting(ip); } }); $(document).on('click', '#guide_access_authorize_next', function() { const ip = $('#guide_access_authorize_server_ip_content').val(); const port = $('#guide_access_authorize_port_content').val(); const username = $('#guide_access_authorize_username_content').val(); const psw = $('#guide_access_authorize_password_content').val(); if(!isValidIpAddress(ip)) { utilStartAlertDialog("无效IP格式"); return; } if(!check_port(port)) { utilStartAlertDialog("无效端口号"); return; } if(username === '') { utilStartAlertDialog("请输入用户名"); return; } if(psw === '') { utilStartAlertDialog("请输入密码"); return; } AuthorizeTerminal(ip, port, username, psw); }); $(document).on('click', '#guide_media_config_refresh', function() { FulfillMediaDeviceList(true); }); $(document).on('click', '#guide_media_config_next', function() { SaveMediaDeviceConfig(); }); $(document).on('click', '#guide_sogou_install_next', function() { RVC.GuideController.gotoPage(DEPLOY.DeployStep_GetTerminalInfo); }); $(document).on('click', '#guide_sogou_install_start', function() { InstallSogouInput(); }); //字体安装按钮 $(document).on('click', '#guide_font_confirm_install', function() { InstallSpecifiesFont(); }); //字体安装页面下一步按钮 $(document).on('click', '#guide_font_confirm_next', function() { RVC.GuideController.gotoPage(DEPLOY.DeployStep_3rdParty_SogouInstall); }); $(document).on('click', '#guide_finish_restart_btn', function() { FinshedDeploy(); }); $(document).on('click', '#reset_btn', function() { utilStartConfirmDialog("确认要重置当前终端的配置?(操作不可撤销)", function() { ResetDeployConfig(); }); }); $('#header_right #quitpage_btn_div').bind('click', function() { if(!globalFinishedFlag) { utilStartConfirmDialog("配置还未完成,确定要退出当前配置吗?(应用也将退出)", function() { AbortDeployConfig(); }); } else { AbortDeployConfig(true); } }); $('#header_right #rebootapp_btn_div').bind('click', function() { if(!globalFinishedFlag) { utilStartConfirmDialog("配置还未完成,确定要重启应用吗?", function() { RVC.HealthmanagerEntityCtrl.RestartApp(true); RVC.GuideController.hideAllPage(); RVC.GuideController.hideAllRebootTipElem(); $('#guide_restart_loading').show(); $('#guide_reboot_page').show(); }); } else { RVC.HealthmanagerEntityCtrl.RestartApp(true); RVC.GuideController.hideAllPage(); RVC.GuideController.hideAllRebootTipElem(); $('#guide_restart_loading').show(); $('#guide_reboot_page').show(); } }); $('#header_right #restartpc_btn_div').bind('click', function() { if(!globalFinishedFlag) { utilStartConfirmDialog("配置还未完成,确定要重启设备吗?", function() { RVC.HealthmanagerEntityCtrl.RestartPC(true); RVC.GuideController.hideAllPage(); RVC.GuideController.hideAllRebootTipElem(); $('#guide_reboot_loading').show(); $('#guide_reboot_page').show(); }); } else { RVC.HealthmanagerEntityCtrl.RestartPC(true); RVC.GuideController.hideAllPage(); RVC.GuideController.hideAllRebootTipElem(); $('#guide_reboot_loading').show(); $('#guide_reboot_page').show(); } }); if (window.addEventListener) { window.addEventListener('resize', RVC.GuideController.resizeWindow, false); } else { window.attachEvent('resize', RVC.GuideController.resizeWindow); } RVC.CameraConfigEntity.init(); if (window.location.href.indexOf('guide.html') !== -1) { RVC.GuideController.resizeWindow(); RVC.Scroll.initScroll('#init_param_content'); $('#header_right #header_help_info_div').bind('click', function() { //reloadThisPage(); //RVC.HealthmanagerEntityCtrl.OpenLocalMaintainPage(); utilStartAlertDialog('功能暂未实现!'); }); //console.log("href:" + window.location.href); //console.log("search:" + window.location.search); var pageIdx = getQueryStringByName('page'); var terminalNo = getQueryStringByName('terminalno'); var vendorAbbr = getQueryStringByName('vendor'); var serverIP = getQueryStringByName('ip'); if(terminalNo !== null && terminalNo.length > 0 && terminalNo !== 'null') { globalTerminalNo = terminalNo; } if(vendorAbbr !== null && vendorAbbr.length > 0 && vendorAbbr !== 'null') { globalSelectVendorType = vendorAbbr; } if(pageIdx !== null && pageIdx.length > 0 && pageIdx !== 'null' && IsDigital(pageIdx)) { var step = parseInt(pageIdx, 10); if(RVC.GuideController.checkPageAvailable(step)) { utilStartAlertDialog('请点击确认按钮继续进行上次未完成的配置', function() { RVC.GuideController.gotoPage(step, true); }); } } else { /** DeployStep_Begin : 0, DeployStep_3rdParty_FontInstall : 1, DeployStep_3rdParty_SogouInstall :2, DeployStep_GetTerminalInfo : 3, DeployStep_AdapterConfig : 4, DeployStep_MediaConfig : 5, DeployStep_FetchCenterSettings : 6, DeployStep_AccessAuthorize : 7, DeployStep_Finished : 8 * */ RVC.GuideController.gotoPage(DEPLOY.DeployStep_Begin, true); } FulfillTerminalBasicInfo(); } setTimeout(RVC.GuideController.resizeWindow, 200); });