var worker = null; /** * 获取当前前置机版本 */ function getVersion(callback){ try { var user = getUserBean(); var ssqh = getUserBean().ssqh.substring(0,3); var dq=(ssqh==500?"50000000":"33000001");//重庆地区发50000000 浙江发33000001 var requestString = ""+dq+"--VERSION--0--0--0----0--0--"; sendAjax_noMessage("",requestString,function (data){ if (data){ console.log("当前前置机版本:"+data); var verObj =''; try { verObj = JSON.parse(data); }catch (e) { } callback(verObj) }else{ callback(); } }) }catch (e){ callback(); } } /** * 登录时保存前置机版本 */ function saveVersionOnload(){ try { getVersion(function (verObj) { if(verObj && verObj['ReturnCode']==='0'){ verObj.requestString=requestString; buffalo.remoteCall("sysSettingService.saveVer",[verObj,user],function (reply){ }); sendQzjsettings(); } }) }catch (e){ } } /** * 各种前置机配置 */ //杭州地区 var hangzhou={ "MainUrl":"http://47.102.212.62", "UpdateUrl":"http://47.102.212.62", "MiInfUrl":"http://10.249.83.126", "AutoUpdate":"1" } //嘉兴地区 var jiaxing={ "MainUrl":"http://215.8.97.54", "UpdateUrl":"http://215.8.97.54", "MiInfUrl":"http://10.249.86.63", "AutoUpdate":"1" } //金华地区 var jinhua={ "MainUrl":"http://20.20.20.20:9111", "UpdateUrl":"http://20.20.20.20:9111", "MiInfUrl":"http://10.249.83.128", "AutoUpdate":"1" } var huzhou={ "MainUrl":"http://215.64.96.98:9090", "UpdateUrl":"http://215.64.96.98:9090", "MiInfUrl":"http://10.249.83.132", "AutoUpdate":"1" } var quzhou={ "MainUrl":"http://47.102.212.62", "UpdateUrl":"http://47.102.212.62", "MiInfUrl":"http://10.249.83.134", "AutoUpdate":"1" } var wenzhou={ "MainUrl":"http://47.102.212.62", "UpdateUrl":"http://47.102.212.62", "MiInfUrl":"http://10.249.83.129", "AutoUpdate":"1" } var jinhuasbj={ "MainUrl":"http://10.10.10.13:9111", "UpdateUrl":"http://10.10.10.13:9111", "MiInfUrl":"http://10.249.83.128", "AutoUpdate":"1" } var taizhou={ "MainUrl":"http://47.102.212.62", "UpdateUrl":"http://47.102.212.62", "MiInfUrl":"http://10.249.83.125", "AutoUpdate":"1" } var chongqing={ "MainUrl":"http://10.124.2.9:9001", "UpdateUrl":"http://10.124.2.9:9001", "MiInfUrl":"http://10.123.30.101", "AutoUpdate":"1" } /** * 是否执行 如果变成false,下一个定时任务不执行 * @type {boolean} */ var sfzx=true; /** * 发送前置机配置 * @returns {string} */ function sendQzjsettings(){ if (location.hostname == '106.14.92.128'||location.hostname == '10.83.134.88'){ return ""; } //配置项 MainUrl登录地址 UpdateUrl更新地址 MiInfUrl:医保接口地址 AutoUpdate设置自动更新 var configuration={} var user=getUserBean(); var ssqh=user.ssqh; if (!ssqh){//所属区划空的就直接返回; return ""; } var xz=ssqh.substring(0,4); if (xz.indexOf("3301")>-1){//杭州 configuration=hangzhou; } if (xz.indexOf("3304")>-1){//嘉兴 configuration=jiaxing; } if (xz.indexOf("3307")>-1&&(ssqh.indexOf('33070')>-1||ssqh=='330799')){//金华市本级 configuration=jinhuasbj; } if (xz.indexOf("3307")>-1&&ssqh.indexOf('33070')==-1&&ssqh!='330799'){//金华县市 configuration=jinhua; } if (xz.indexOf("3308")>-1){//衢州 configuration=quzhou; } if (xz.indexOf("3303")>-1){//温州 configuration=wenzhou; } if (xz.indexOf("3310")>-1){//台州 configuration=taizhou; } if (xz.indexOf("3305")>-1){//湖州 configuration=huzhou; } if (xz.indexOf("500")>-1){//重庆 configuration=chongqing; } var index=0; for (var key in configuration){ ( function (key){ index++; setTimeout(function () { doSomething(key,configuration); },500*index); } )(key) } } /** * 发送前置机 * @param key * @param configuration */ function doSomething(key,configuration){ if (!sfzx){ return; } var requestString = "00000000--SETUP--"+key+"--0--0--"+configuration[key]+"--0--0--"; sendAjaxNoMessage(false,requestString,function (responseString){ console.log("responseString"+responseString) if (responseString){ if (responseString.indexOf("") < 0 || responseString.indexOf("") < 0) { sfzx=false; makeWorker();//启动一个线程5分钟之后再次执行操作 return; } if (responseString.lastIndexOf("\r\n") > 0) { responseString = responseString.substring(0, responseString.length() - 2); } var str; var flag; try { str = responseString.substring("".length, responseString.length - "".length); flag = str.substring(0, str.indexOf("--")); if (flag!=='0'){ sfzx=false; makeWorker();//启动一个线程5分钟之后再次执行操作 } } catch (e) { sfzx=false; makeWorker();//启动一个线程5分钟之后再次执行操作 return; } }else { sfzx=false; makeWorker();//启动一个线程5分钟之后再次执行操作 } }) } //机构设置的前置机地址 var qzjip=GetCookie("qzjip"); var send_url ="http://127.0.0.1:7080"; if (qzjip!=''&&qzjip!=undefined){ send_url="http://"+qzjip+":7080"; console.log("前置机IP"+qzjip); } /** * 同步Ajax * @param async * @param str * @param returnFun */ function sendAjaxNoMessage(async,str,returnFun){ try{ jQuery.support.cors = true; $.ajax({ crossDomain: true, dataType:"text", //jsonp解决ie下跨域问题 url:send_url, type:'post', jsonp:'callback', async:async, data: encodeURIComponent(str), success: function(data){ returnFun(data); }, error:function (){ returnFun(""); } }); }catch(e){ returnFun(""); } } /** * 启动线程 */ var sfcsqd=false; function makeWorker(){ if (sfcsqd){ return; } if (typeof worker == 'undefined'||typeof worker== 'null'||!worker) { worker = new Worker('/public/js/worker.js'); } //监听来自 Worker 的消息 worker.onmessage = function(event) { var currentDate = new Date(); var currentTime = currentDate.toLocaleString(); console.log("QZJ启动定时重试"+currentTime); sfcsqd=true; // 确保myWorker已经被定义并且是一个有效的Worker对象实例 worker.terminate(); // 销毁worker delete worker; // 删除对worker的引用,可选 sfzx=true; setTimeout(function() { // 发送消息回主线程 sendQzjsettings(); }, 300000); // 定时5分钟 }; // 发送消息给 Worker 5分钟后重新条用设置方法 worker.postMessage('QZJ'); }