/**统一登录js文件**/ var loginfg='';//websocket请求标识 var bIE9=false; if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.match(/[6789]./i)) { bIE9=true } var wsUrl = "ws"+(!bIE9&&"https:"==document.location.protocol?"s":"")+"://"+window.location.host+"/ws"; var ws = ""; var openid = ""; var jylgi = 0; var loginflag = false;//登录状态 var mynum = "";//页面参数num var keysorpname = "";//项目名称 var kzyflag = false;//快照页标识 var thurl = "";//url var semnum = "";//SEM var ldpnum = "";//落地页扫码后调整标识 var ldmold = "";//落地页扫码后调整标识 var pageshareid = ""; var kopshareid = ""; var oldshareid = ""; var encryptId = null; var qr_type = "s"; var unseatflag = false;//未登录情况下,用户点击超级搜索等开启按钮或者功能,根据此状态看是否弹出二维码 var unseatzbqyflag = false;//未登录情况下,用户点击中标企业等开启按钮或者功能,根据此状态看是否弹出二维码 var sendMsgInterval = null; var entjumpflag = false; //轮询查询 var LoginPolling = { isPostLoginPolling: false,//是否发起轮询请求 loginPollingInterval: null, initInterval: null, init: function(){ //防止重复调用 if(this.initInterval != null){ return; } //先发一个消息,保存session this.postShareid(); this.initInterval = setInterval(this.postShareid,3000); }, postShareid: function(){ if(WSpolling.isPageHidden || pageshareid == "" || kopshareid == ""){ return; } $.ajax({ type: "POST", url: "/front/ajaxPolling", data: {reqType: 1,shareIds: pageshareid+"___"+kopshareid}, dataType: "json", timeout: 3000, success: function(r){ clearInterval(LoginPolling.initInterval); //LoginPolling.initInterval = null; } }); }, start: function(){ //防止重复调用 if(this.loginPollingInterval != null){ return; } //定时器,定时请求看是否扫码登录,返回用户信息,登录 this.loginPollingInterval = setInterval(function(){ //如果浏览器不支持webscoket,走ajax轮询方式 if(window.WebSocket == undefined) { LoginPolling.isPostLoginPolling = true; } if(WSpolling.isPageHidden || !LoginPolling.isPostLoginPolling){ return; } $.ajax({ type: "POST", url: "/front/ajaxPolling", data: {reqType:2}, dataType: "json", timeout: 3000, success: function(r){ if(!jQuery.isEmptyObject(r)){ logic(r,mynum); } } }); },5000); }, stop: function(){ clearInterval(this.loginPollingInterval); this.loginPollingInterval = null; this.isPostLoginPolling = false; this.initInterval = null; } } var webSocketHeartCheck = new WebSocketHeartCheck(LoginPolling); //创建websocket连接 var createWebSocket = function(flag){ try{ ws = new WebSocket(wsUrl);//实例化websocket对象 initEventHandle(flag); }catch(e){ reconnect(); //console.log(e) } } // var initEventHandle = function(flag){ ws.onmessage = function(e){ //接收消息正常,就不再发ajax轮询 LoginPolling.isPostLoginPolling = false; if(e.data==""){ return }else if(e.data=="HeartBeat"){//心跳检测 //如果获取到消息,心跳检测重置 //拿到任何消息都说明当前连接是正常的 webSocketHeartCheck.reset().start(ws,loginflag); return; } //用户登录 logic($.parseJSON(e.data),mynum); } ws.onerror = function(e){ //console.info("onerror"); reconnect(); } ws.onclose = function(e) { //console.info("onclose"); reconnect(); } ws.onopen = function(e) { if(flag){//重连之后发送shareid SendMsg(); } //心跳检测重置 webSocketHeartCheck.reset().start(ws,loginflag); } } // function reconnect() { if(webSocketHeartCheck.lockReconnect || loginflag){ return; } LoginPolling.isPostLoginPolling = true; webSocketHeartCheck.lockReconnect = true; LoginPolling.init(); //没连接上会一直重连,设置延迟避免请求过多 setTimeout(function () { createWebSocket(true); webSocketHeartCheck.lockReconnect = false; }, 2000); } //websocket查看用户是否登录 var JYLogin = function(num){ clearInterval(loginfg) loginfg = setInterval(function(){ jylgi++; //console.log(jylgi+"-----") if(jylgi>12*60){ getNewShareId(num); jylgi = 0; } },1000) LoginPolling.init(); SendMsg(); } var SendMsg = function(){ //向后台发送websocket数据 if (window["WebSocket"]){ if(ws.readyState==1){ //console.log("发送:"+pageshareid+"___"+kopshareid) ws.send(pageshareid+"___"+kopshareid); }else{ LoginPolling.isPostLoginPolling = true; } }else{ LoginPolling.isPostLoginPolling = true; } } //生成页面二维码,不同页面处理逻辑 var getNewShareId = function(num){ mynum = num; pageType = "T" var rref = document.referrer; if (localStorage.getItem("oldshareid")!=null){ oldshareid=localStorage.getItem("oldshareid"); } //console.log("num:"+num) $.post("/front/getLoginNum/"+num,{rref:rref,oid:oldshareid},function(data){ if($("#bidLogin").attr("data-rec")=="sjdc"){ window.location.href = "/front/dataExport/toSieve"; return; } if(data&&data.num){ pageshareid = data.num; kopshareid = data.numot; mynum = num; localStorage.setItem("oldshareid", pageshareid); //redisUserInfo(pageshareid,kopshareid); $(".jyhead_qr img").attr("src","/front/share/"+pageshareid); $("#bottomimg").attr("src","/front/share/"+pageshareid); $("#layerImg-login").attr("src","/front/share/"+pageshareid); $("#layerImg-zbsq").attr("src","/front/share/"+pageshareid); switch(num){ case "10"://首页 //$("#layerImg").attr("src","/front/share/"+pageshareid); //$("#sy-shareimg img").attr("src","/front/share/"+pageshareid); $(".wxlinkdiv").attr("src","/front/share/"+pageshareid); break; case "11"://订阅页面 $("#dyym-1 img").attr("src","/front/share/"+kopshareid); $("#dyym-2").attr("src","/front/share/"+pageshareid); $(".secondleft img").attr("src","/front/share/"+pageshareid); $("#vipCode").attr("src","/front/share/"+kopshareid); break; case "12"://搜索列表页 $("#layerImg").attr("src","/front/share/"+pageshareid); $("#wxCode").attr("src","/front/share/"+pageshareid); $("#keyImg").attr("src","/front/share/"+kopshareid); if(keysorpname!=undefined&&keysorpname!=""){ var ref = document.referrer; if(ref != ""&&ref.indexOf("jianyu360.com")<0||ref.indexOf("qmx.top")<0){ $.post("/front/rediskw",{"skw":keysorpname,"num":kopshareid}); } } break; case "13"://快照页 $("#layerImg").attr("src","/front/share/"+pageshareid); $("#wxCode").attr("src","/front/share/"+kopshareid); //生成二维码 if(keysorpname!=undefined&&keysorpname!=""){ $.post("/front/rediskw",{"skw":keysorpname,"num":kopshareid}); } break; case "14"://标签页面 $("#bottomimg").attr("src","/front/share/"+pageshareid); $("#layerImg").attr("src","/front/share/"+pageshareid); $("#keyImg").attr("src","/front/share/"+pageshareid); break; case "15"://博客列表和内容页面 break; case "16"://关于我们页面 break; case "18"://扫码关注企业18 $("#layerImg").attr("src","/front/share/"+pageshareid); var company = $.trim($("#zbSeatchT input[name='keywords']").val()); if(company != "" && company != null && company.length >0){ $("#keyImg").attr("src","/front/share/"+kopshareid); $.post("/front/rediskw",{"skw":company,"num":kopshareid}); }else{ $("#keyImg").attr("src","/front/share/"+pageshareid); } break; case "19"://拟建项目 $("#layerImg").attr("src","/front/share/"+pageshareid); $("#wxCode").attr("src","/front/share/"+pageshareid); $("#keyImg").attr("src","/front/share/"+kopshareid); if(keysorpname!=undefined&&keysorpname!=""){ $.post("/front/rediskw",{"skw":keysorpname,"num":kopshareid}); } break; case "17"://1808新落地页 $(".ewm1").attr("src","/front/share/"+pageshareid); $(".ewm2").attr("src","/front/share/"+kopshareid); $("#kwewm").attr("src","/front/share/"+kopshareid); $(".ecode_img img").attr("src","/front/share/"+kopshareid).css("display",""); break; case "23"://数据导出 break; } if(num=="13"&&!kzyflag){ return false; } setTimeout(function(){ if(!loginflag){ JYLogin(num); } },500); } },'json'); } // var redisUserInfo = function(pid,kid){ var rurl = window.location.href; var rref = document.referrer; if (localStorage.getItem("oldshareid")!=null){ oldshareid=localStorage.getItem("oldshareid"); } $.post("/front/followinfo",{pid:pid,kid:kid,rurl:rurl,rref:rref,oid:oldshareid},function(data){ if(data&&data.result=="ok"){ localStorage.setItem("oldshareid", pid); } }) } //查询用户信息,响应页面登录信息 var logic = function(data,num){ if(data.result=="ok"){ //$(".QRLogin").hide(); $("#bidLogin").modal("hide") $("#bidcommunity").modal("hide") clearInterval(loginfg); loginflag = true; processpage(data.shareid,num); //登录成功,停止轮询 LoginPolling.stop(); //登录成功,停止心跳监测 webSocketHeartCheck.reset(); if(ws.readyState==1){ ws.send("close"); ws.close(); } encryptId = data.encryptId if(data.s_nickname.length>11){ data.s_nickname = data.s_nickname.substring(0,11); data.s_nickname = data.s_nickname + "..."; } var hhtml = ""){ data.redisheadimg = ""; } if(data.s_headimage==null||data.s_headimage==undefined||data.s_headimage==""||data.s_headimage==""){ data.s_headimage = "/images/defaultAvatarN.png?v=2"; } if(data.redisheadimg!=""){ hhtml+="src='"+data.redisheadimg+"'" }else{ hhtml+="src='"+data.s_headimage+"'" } hhtml+=" onerror='this.src=\"/images/defaultAvatarN.png?v=2\"'>" +"
" +"" +"
" $("#login").html(hhtml); try{ infoListCss(); commonMouseEvent(); }catch(e){} } } //登录后处理页面逻辑 var processpage = function(shareid,num){ if($("#bidLogin").attr("data-rec")=="sjdc"){ window.location.href = "/front/dataExport/toSieve"; return; } clearInterval(loginfg); switch(num){ case "10"://10首页 var ful = $("#myModal").attr("aria-hidden"); if(ful=="true"){ break; } $("#myModal").modal("hide"); // if(dataListId!=""){ // setTimeout(function(){ // window.open("/article/content/"+dataListId+".html"); // },500) // } break; case "11"://11订阅页面 //$("#myModal-01").click(); $(".modal").click(); break; case "12"://12搜索列表 var ful = $("#myModal").attr("aria-hidden"); if(ful=="true"){ break; } $("#myModal").modal("hide"); $("#labModal").modal("hide"); if(dataId!=""){ setTimeout(function(){ //$('a[dataId="'+ dataId +'"]').click(); var aHref = ""; if(searchvalue != ""){ aHref += '.html?kds='+searchvalue; }else{ aHref += '.html'; } window.open("/article/content/"+dataId+aHref); },500); } break; case "13"://13快照页 if(thurl!=""&&thurl!="D"){ window.location.href=thurl; }else if(thurl==""){ window.location.href="/"; } break; case "14"://14标签页面 var ful = $("#myModal").attr("aria-hidden"); if(ful=="true"){ break; } $("#myModal").click(); if(dataId!=""){ setTimeout(function(){ window.open("/article/content/"+dataId+".html"); },500); } break; case "15"://15剑鱼标讯博客页面 break; case "16"://关于我们页面16 break; case "18"://中标企业搜索 var ful = $("#myModal").attr("aria-hidden"); if(ful=="true"){ break; } $("#myModal").modal("hide"); $("#labModal").modal("hide"); if(dataId!=""){ setTimeout(function(){ //$('a[dataId="'+ dataId +'"]').click(); var aHref = ""; if(searchvalue != ""){ aHref += '.html?kds='+searchvalue; }else{ aHref += '.html'; } window.open("/article/content/"+dataId+aHref); },500); } break; break; case "19"://拟建项目 var ful = $("#myModal").attr("aria-hidden"); if(ful=="true"){ break; } $("#myModal").modal("hide"); $("#labModal").modal("hide"); if(dataId!=""){ setTimeout(function(){ var aHref = ""; if(searchvalue != ""){ aHref += '.html?kds='+searchvalue; }else{ aHref += '.html'; } window.open("/article/content/"+dataId+aHref); },500); } break; case "17"://落地页 $("#bidLogin").modal("hide"); $(".close").click(); if(ldpnum=="0"){ window.open('/jylab/supsearch/index.html', '_self') }else if(ldpnum=="1"){ window.open('/front/subscribe.html', '_self') }else if(ldpnum=="2"){ window.open('/jylab/supsearch/proposedProject.html', '_self') }else if(ldpnum=="3"){ if(ldmold!=""){ window.open('/list/stype/'+ldmold+'.html', '_self') }else{ window.open('/jylab/supsearch/index.html', '_self') } }else if(ldpnum=="4"){ if(ldmold!=""){ window.open('/list/area/'+ldmold+'.html', '_self') }else{ window.open('/jylab/supsearch/index.html', '_self') } }else if(ldpnum=="5"){ if(ldmold){ window.open('/article/content/'+ldmold+'.html') }else{ window.open('/jylab/supsearch/index.html') } }else if(ldpnum=="6"){ window.open('/front/dataExport/toSieve') } break; case "24"://百度SEM-p 快照页推广-落地页 window.open(semHref, '_self') break } } //退出登录 var signout = function(){ clearInterval(loginfg); kzyflag = true; loginflag = false; unseatflag = false; unseatzbqyflag = false; $("#login").html(""); loginBtnType(); $(".control-tabBtn>a:first>font").text("招标搜索"); $(".control-tabBtn>a:eq(2)").addClass("hidden"); $(".control-tabBtn>a:eq(3)").addClass("hidden"); $(".superSearch").show(); $.post("/front/signOut",function(data){ if(data=="ok"){ try{ $.cookie("userid_secure","",{expires:-1,path:"/",domain:document.domain.replace(/[^.]+/,"")}); }catch(e){ document.cookie = "userid_secure=;expires=-1;path=/"; } var pt = new RegExp("^/front/dataExport/.+$"); if(pt.test(window.location.pathname)){ window.location.href="/"; }else{ LoginPolling.start(); createWebSocket(false); getNewShareId(mynum); } } }) } //查看用户是否已经登录 var haslogin = function(num,kyorpn,url){ mynum = num;//页面logid keysorpname = kyorpn;//其他参数 thurl = url;//列表也跳转快照页url $.post("/front/hasSign",function(data, location){ if(data){ loginflag = true; encryptId = data.encryptId if(data.s_nickname.length>11){ data.s_nickname = data.s_nickname.substring(0,11); data.s_nickname = data.s_nickname + "..."; } var hhtml = ""){ data.redisheadimg = ""; } if(data.s_headimage==null||data.s_headimage==undefined||data.s_headimage==""||data.s_headimage==""){ data.s_headimage = "/images/defaultAvatarN.png?v=2"; } if(data.redisheadimg!=""){ hhtml+="src='"+data.redisheadimg+"'" }else{ hhtml+="src='"+data.s_headimage+"'" } hhtml+=" onerror='this.src=\"/images/defaultAvatarN.png?v=2\"'>" +"
" +"" +"
" $("#login").html(hhtml); try{ infoListCss(); commonMouseEvent(); }catch(e){} getNewShareId(num); changeER(); }else{ $("#login").html(""); loginBtnType(); getNewShareId(num); LoginPolling.start(); createWebSocket(false); kzyflag = true;//未登录进入快照页面 changeER(); } }) } // function changeER(){ $(".loginBtn").click(function(){ var thref = window.location.href; if(thref.indexOf("topics")<0){ $(".code-text").html('微信扫码登录
立即免费使用') } }) } function loginBtnType(){ var href = window.location.pathname; if (href=="/"||href.indexOf("subscribe")>-1||href.indexOf("advservices")>-1||href.indexOf("aboutus")>-1||href.indexOf("busicooperation")>-1||href.indexOf("pcindex.html")>-1){ $(".loginBtn").attr("onmouseover","this.style.borderColor='#2cb7ca'; this.style.color='#2cb7ca';"); $(".loginBtn").attr("onmouseout","this.style.borderColor='#fff'; this.style.color='#fff';"); }else if(href.indexOf("topics")>-1){ $(".loginBtn").css({"border":"none"}); }else{ $(".loginBtn").css({"border-color":"#e0e0e0","color":"rgb(37, 38, 39)"}); $(".loginBtn").attr("onmouseover","this.style.borderColor='#2cb7ca'; this.style.color='#2cb7ca';"); $(".loginBtn").attr("onmouseout","this.style.borderColor='#e0e0e0'; this.style.color='#252627';"); } }