|
@@ -5,13 +5,12 @@ if(navigator.appName == "Microsoft Internet Explorer" && navigator.appVersion.ma
|
|
|
bIE9=true
|
|
|
}
|
|
|
var wsUrl = "ws"+(!bIE9&&"https:"==document.location.protocol?"s":"")+"://"+window.location.host+"/ws";
|
|
|
-var ws = "";
|
|
|
+var ws = null;
|
|
|
var openid = "";
|
|
|
var jylgi = 0;
|
|
|
var loginflag = false;//登录状态
|
|
|
var mynum = "";//页面参数num
|
|
|
var keysorpname = "";//项目名称
|
|
|
-var kzyflag = false;//快照页标识
|
|
|
var thurl = "";//url
|
|
|
var semnum = "";//SEM
|
|
|
var ldpnum = "";//落地页扫码后调整标识
|
|
@@ -27,7 +26,7 @@ var sendMsgInterval = null;
|
|
|
var entjumpflag = false;
|
|
|
//轮询查询
|
|
|
var LoginPolling = {
|
|
|
- isPostLoginPolling: false,//是否发起轮询请求
|
|
|
+ isPostLoginPolling: true,//是否发起轮询请求
|
|
|
loginPollingInterval: null,
|
|
|
initInterval: null,
|
|
|
init: function(){
|
|
@@ -51,7 +50,7 @@ var LoginPolling = {
|
|
|
timeout: 3000,
|
|
|
success: function(r){
|
|
|
clearInterval(LoginPolling.initInterval);
|
|
|
- //LoginPolling.initInterval = null;
|
|
|
+ LoginPolling.initInterval = null;
|
|
|
}
|
|
|
});
|
|
|
},
|
|
@@ -60,12 +59,10 @@ var LoginPolling = {
|
|
|
if(this.loginPollingInterval != null){
|
|
|
return;
|
|
|
}
|
|
|
+ this.init();
|
|
|
//定时器,定时请求看是否扫码登录,返回用户信息,登录
|
|
|
this.loginPollingInterval = setInterval(function(){
|
|
|
//如果浏览器不支持webscoket,走ajax轮询方式
|
|
|
- if(window.WebSocket == undefined) {
|
|
|
- LoginPolling.isPostLoginPolling = true;
|
|
|
- }
|
|
|
if(WSpolling.isPageHidden || !LoginPolling.isPostLoginPolling){
|
|
|
return;
|
|
|
}
|
|
@@ -92,17 +89,21 @@ var LoginPolling = {
|
|
|
}
|
|
|
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 createWebSocket = function(){
|
|
|
+ if("WebSocket" in window){
|
|
|
+ try{
|
|
|
+ ws = new WebSocket(wsUrl);//实例化websocket对象
|
|
|
+ initEventHandle();
|
|
|
+ }catch(e){
|
|
|
+ reconnect();
|
|
|
+ //console.log(e)
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ LoginPolling.isPostLoginPolling = true;
|
|
|
}
|
|
|
}
|
|
|
//
|
|
|
-var initEventHandle = function(flag){
|
|
|
+var initEventHandle = function(){
|
|
|
ws.onmessage = function(e){
|
|
|
//接收消息正常,就不再发ajax轮询
|
|
|
LoginPolling.isPostLoginPolling = false;
|
|
@@ -126,9 +127,7 @@ var initEventHandle = function(flag){
|
|
|
reconnect();
|
|
|
}
|
|
|
ws.onopen = function(e) {
|
|
|
- if(flag){//重连之后发送shareid
|
|
|
- SendMsg();
|
|
|
- }
|
|
|
+ SendMsg();
|
|
|
//心跳检测重置
|
|
|
webSocketHeartCheck.reset().start(ws,loginflag);
|
|
|
}
|
|
@@ -143,7 +142,7 @@ function reconnect() {
|
|
|
LoginPolling.init();
|
|
|
//没连接上会一直重连,设置延迟避免请求过多
|
|
|
setTimeout(function () {
|
|
|
- createWebSocket(true);
|
|
|
+ createWebSocket();
|
|
|
webSocketHeartCheck.lockReconnect = false;
|
|
|
}, 2000);
|
|
|
}
|
|
@@ -153,29 +152,25 @@ var JYLogin = function(num){
|
|
|
loginfg = setInterval(function(){
|
|
|
jylgi++;
|
|
|
//console.log(jylgi+"-----")
|
|
|
- if(jylgi>12*60){
|
|
|
- getNewShareId(num);
|
|
|
+ if(jylgi>120*60){
|
|
|
+ getNewShareId(num,false);
|
|
|
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;
|
|
|
- }
|
|
|
+ if(pageshareid==""||kopshareid==""){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(ws!=null&&ws.readyState==1){
|
|
|
+ //console.log("发送:"+pageshareid+"___"+kopshareid)
|
|
|
+ ws.send(pageshareid+"___"+kopshareid);
|
|
|
}else{
|
|
|
LoginPolling.isPostLoginPolling = true;
|
|
|
}
|
|
|
}
|
|
|
//生成页面二维码,不同页面处理逻辑
|
|
|
-var getNewShareId = function(num){
|
|
|
+var getNewShareId = function(num,isFirst){
|
|
|
mynum = num;
|
|
|
pageType = "T"
|
|
|
var rref = document.referrer;
|
|
@@ -192,6 +187,15 @@ var getNewShareId = function(num){
|
|
|
pageshareid = data.num;
|
|
|
kopshareid = data.numot;
|
|
|
mynum = num;
|
|
|
+ if(!loginflag){
|
|
|
+ if(isFirst){
|
|
|
+ LoginPolling.start();
|
|
|
+ createWebSocket();
|
|
|
+ }else if(!isFirst){
|
|
|
+ LoginPolling.init();
|
|
|
+ SendMsg();
|
|
|
+ }
|
|
|
+ }
|
|
|
localStorage.setItem("oldshareid", pageshareid);
|
|
|
//redisUserInfo(pageshareid,kopshareid);
|
|
|
$(".jyhead_qr img").attr("src","/front/share/"+pageshareid);
|
|
@@ -265,14 +269,7 @@ var getNewShareId = function(num){
|
|
|
case "23"://数据导出
|
|
|
break;
|
|
|
}
|
|
|
- if(num=="13"&&!kzyflag){
|
|
|
- return false;
|
|
|
- }
|
|
|
- setTimeout(function(){
|
|
|
- if(!loginflag){
|
|
|
- JYLogin(num);
|
|
|
- }
|
|
|
- },500);
|
|
|
+ JYLogin(num);
|
|
|
}
|
|
|
},'json');
|
|
|
}
|
|
@@ -543,7 +540,6 @@ var processpage = function(shareid,num){
|
|
|
//退出登录
|
|
|
var signout = function(){
|
|
|
clearInterval(loginfg);
|
|
|
- kzyflag = true;
|
|
|
loginflag = false;
|
|
|
unseatflag = false;
|
|
|
unseatzbqyflag = false;
|
|
@@ -567,8 +563,8 @@ var signout = function(){
|
|
|
}else{
|
|
|
window.location.reload();
|
|
|
/*LoginPolling.start();
|
|
|
- createWebSocket(false);
|
|
|
- getNewShareId(mynum);*/
|
|
|
+ createWebSocket();
|
|
|
+ getNewShareId(mynum,true);*/
|
|
|
}
|
|
|
}
|
|
|
})
|
|
@@ -633,15 +629,11 @@ var haslogin = function(num,kyorpn,url){
|
|
|
infoListCss();
|
|
|
commonMouseEvent();
|
|
|
}catch(e){}
|
|
|
- getNewShareId(num);
|
|
|
}else{
|
|
|
$("#login").html("<button class='loginBtn' data-toggle='modal' onclick='openLoginDig()'>登录</button>");
|
|
|
loginBtnType();
|
|
|
- getNewShareId(num);
|
|
|
- LoginPolling.start();
|
|
|
- createWebSocket(false);
|
|
|
- kzyflag = true;//未登录进入快照页面
|
|
|
}
|
|
|
+ getNewShareId(num,true);
|
|
|
})
|
|
|
}
|
|
|
function loginBtnType(){
|