|
@@ -0,0 +1,1290 @@
|
|
|
+/**统一登录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 = "<img "
|
|
|
+ if(data.redisheadimg==null||data.redisheadimg==undefined||data.redisheadimg=="<nil>"){
|
|
|
+ data.redisheadimg==""
|
|
|
+ }
|
|
|
+ if(data.s_headimage==null||data.s_headimage==undefined||data.s_headimage=="<nil>"){
|
|
|
+ data.s_headimage==""
|
|
|
+ }
|
|
|
+ if(data.redisheadimg!=""){
|
|
|
+ hhtml+="src='"+data.redisheadimg+"' class='imgShow nomalheadimg'"
|
|
|
+ }else if(data.s_headimage!=""){
|
|
|
+ hhtml+="src='"+data.s_headimage+"' class='imgShow nomalheadimg'"
|
|
|
+ }else{
|
|
|
+ hhtml+="src='"+data.s_headimage+"' class='imgShow'"
|
|
|
+ }
|
|
|
+ hhtml+=" onerror='this.src=\"/images/auto.png\";$(this).removeClass(\"nomalheadimg\");'>"
|
|
|
+ +"<div class='userInfo'>"
|
|
|
+ +"<div class='infoList' style='display:none'>"
|
|
|
+ +"<span class='one'></span>"
|
|
|
+ +"<span class='two'></span>"
|
|
|
+ +"<div class='usernameDiv'>"
|
|
|
+ +data.s_nickname
|
|
|
+ +"</div>"
|
|
|
+ +"<div class=\"myorderDiv\" onclick=\"window.location.href='/front/swordfish/toMyOrder'\">"
|
|
|
+ +"<span>我的订单</span>"
|
|
|
+ +"</div>"
|
|
|
+ $.ajax({
|
|
|
+ type: 'get',
|
|
|
+ url: '/entbase/ent/mySelectent?t=' + new Date().getTime(),
|
|
|
+ async: false,
|
|
|
+ })
|
|
|
+ $.ajax({
|
|
|
+ type: 'get',
|
|
|
+ url: '/front/entExportAuth/getAuth?t=' + new Date().getTime(),
|
|
|
+ async: false,
|
|
|
+ success: function (r) {
|
|
|
+ if(r.myEntMenu){
|
|
|
+ hhtml += "<div class=\"myorderDiv\" onclick=\"window.location.href='/entpc/myent'\">"
|
|
|
+ +"<span>我的企业</span>"
|
|
|
+ +"</div>"
|
|
|
+ }
|
|
|
+ if(r.entnicheMenu){
|
|
|
+ hhtml+= "<div class=\"myorderDiv\" onclick=\"window.location.href='/entpc/bus'\">"
|
|
|
+ +"<span>商机管理</span>"
|
|
|
+ +"</div>"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ hhtml+= "<div class='exitDiv' onclick='signout()'>"
|
|
|
+ +"<img id='outImg' src='/images/userexit.png'/>"
|
|
|
+ +"<span>退出</span>"
|
|
|
+ +"</div>"
|
|
|
+ +"</div>"
|
|
|
+ +"</div>"
|
|
|
+ $("#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("<button class='loginBtn' data-toggle='modal' onclick='openLoginDig()'>登录</button>");
|
|
|
+ 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=/";
|
|
|
+ }
|
|
|
+ window.location.href="/";
|
|
|
+ var pt = new RegExp("^/article/content/.+$|^/front/dataExport/.+$|^/front/course/codePay$|^/front/course/orderPay$|^/entpc/.+$");
|
|
|
+ if(pt.test(window.location.pathname)){
|
|
|
+ window.location.href="/";
|
|
|
+ }else{
|
|
|
+ window.location.reload();
|
|
|
+ /*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!=null&&data.s_nickname.length>11){
|
|
|
+ data.s_nickname = data.s_nickname.substring(0,11);
|
|
|
+ data.s_nickname = data.s_nickname + "...";
|
|
|
+ }
|
|
|
+ var hhtml = "<img "
|
|
|
+ if(data.redisheadimg==null||data.redisheadimg==undefined||data.redisheadimg=="<nil>"){
|
|
|
+ data.redisheadimg=""
|
|
|
+ }
|
|
|
+ if(data.s_headimage==null||data.s_headimage==undefined||data.s_headimage=="<nil>"){
|
|
|
+ data.s_headimage=""
|
|
|
+ }
|
|
|
+ if(data.redisheadimg!=""){
|
|
|
+ hhtml+="src='"+data.redisheadimg+"' class='imgShow nomalheadimg'"
|
|
|
+ }else if(data.s_headimage!=""){
|
|
|
+ hhtml+="src='"+data.s_headimage+"' class='imgShow nomalheadimg'"
|
|
|
+ }else{
|
|
|
+ hhtml+="src='"+data.s_headimage+"' class='imgShow'"
|
|
|
+ }
|
|
|
+ hhtml+=" onerror='this.src=\"/images/auto.png\";$(this).removeClass(\"nomalheadimg\");'>"
|
|
|
+ +"<div class='userInfo'>"
|
|
|
+ +"<div class='infoList' style='display:none'>"
|
|
|
+ +"<span class='one'></span>"
|
|
|
+ +"<span class='two'></span>"
|
|
|
+ +"<div class='usernameDiv'>"
|
|
|
+ +data.s_nickname
|
|
|
+ +"</div>"
|
|
|
+ +"<div class=\"myorderDiv\" onclick=\"window.location.href='/front/swordfish/toMyOrder'\">"
|
|
|
+ +"<span>我的订单</span>"
|
|
|
+ +"</div>"
|
|
|
+ $.ajax({
|
|
|
+ type: 'get',
|
|
|
+ url: '/entbase/ent/mySelectent?t=' + new Date().getTime(),
|
|
|
+ async: false,
|
|
|
+ })
|
|
|
+ $.ajax({
|
|
|
+ type: 'get',
|
|
|
+ url: '/front/entExportAuth/getAuth?t=' + new Date().getTime(),
|
|
|
+ async: false,
|
|
|
+ success: function (r) {
|
|
|
+ if(r.myEntMenu){
|
|
|
+ hhtml += "<div class=\"myorderDiv\" onclick=\"window.location.href='/entpc/myent'\">"
|
|
|
+ +"<span>我的企业</span>"
|
|
|
+ +"</div>"
|
|
|
+ }
|
|
|
+ if(r.entnicheMenu){
|
|
|
+ hhtml+= "<div class=\"myorderDiv\" onclick=\"window.location.href='/entpc/bus'\">"
|
|
|
+ +"<span>商机管理</span>"
|
|
|
+ +"</div>"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ hhtml+= "<div class='exitDiv' onclick='signout()'>"
|
|
|
+ +"<img id='outImg' src='/images/userexit.png'/>"
|
|
|
+ +"<span>退出</span>"
|
|
|
+ +"</div>"
|
|
|
+ +"</div>"
|
|
|
+ +"</div>"
|
|
|
+ $("#login").html(hhtml);
|
|
|
+ try{
|
|
|
+ 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;//未登录进入快照页面
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+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||window.location.pathname==="/jyxspc/"||window.location.pathname==="/entpc/"){
|
|
|
+ $(".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';");
|
|
|
+ }
|
|
|
+}
|
|
|
+///////////////////////////////
|
|
|
+
|
|
|
+
|
|
|
+// ajax部分匿名函数自执行,防止泄露全局变量
|
|
|
+$(function(){
|
|
|
+ var Direct = {
|
|
|
+ verify: {},
|
|
|
+ forge: {},
|
|
|
+ ajaxSms: function (e, type) {
|
|
|
+ var _this = this;
|
|
|
+ if (type === 'verify') {
|
|
|
+ $.post("/phone/login",{
|
|
|
+ reqType:"sendIdentCode",
|
|
|
+ phone:$("#bidLogin .login-dig-input-box [name='verify_phone']").val(),
|
|
|
+ code:$("#bidLogin .login-dig-input-box [name='verify_code']").val()
|
|
|
+ },function(r){
|
|
|
+ if(r.status==-1){
|
|
|
+ _this.verify.code.showError('手机号格式错误');
|
|
|
+ }else if(r.status==-2){//图形验证码错误
|
|
|
+ _this.verify.code.showError('图形验证码输入错误');
|
|
|
+ $("#bidLogin .verify-img").attr("src","/front/landpage/captcha?v="+new Date().getTime());
|
|
|
+ }else{
|
|
|
+ sessionStorage.setItem('login-verify-start-time', new Date().getTime())
|
|
|
+ startTimeDown(type)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ $.post("/phone/forgetPwd",{
|
|
|
+ reqType:"sendIdentCode",
|
|
|
+ phone:$(".forgetpwd_page .login-dig-input-box [name='forge_phone']").val(),
|
|
|
+ code:$(".forgetpwd_page .login-dig-input-box [name='forge_code']").val()
|
|
|
+ },function(r){
|
|
|
+ if(r.status=="phoneError"){
|
|
|
+ _this.forge.code.showError('手机号格式错误');
|
|
|
+ }else if(r.status=="codeError"){
|
|
|
+ _this.forge.code.showError('图形验证码输入错误');
|
|
|
+ $(".forgetpwd_page .verify-img").attr("src","/front/landpage/captcha?v="+new Date().getTime());
|
|
|
+ }else if(r.status=="phoneNotExists"){
|
|
|
+ _this.forge.phone.showError('手机号尚未注册');
|
|
|
+ $(".forgetpwd_page .verify-img").attr("src","/front/landpage/captcha?v="+new Date().getTime());
|
|
|
+ }else if(r.status=="y"){
|
|
|
+ sessionStorage.setItem('login-verify-start-time', new Date().getTime())
|
|
|
+ startTimeDown(type)
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 忘记密码
|
|
|
+ ajaxStepOne: function (e, arr) {
|
|
|
+ $.post("/phone/forgetPwd",{reqType:"nextStep",identCode:arr[2].value},function(r){
|
|
|
+ e.setAttribute('data-loading', 'false');
|
|
|
+ if(r.status=="identCodeError"){
|
|
|
+ arr[2].showError('短信验证码错误');
|
|
|
+ }else if(r.status=="y"){
|
|
|
+ toggleStep(false);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ ajaxStepTwo: function (e, arr) {
|
|
|
+ $.post("/phone/forgetPwd",{reqType:"save",password:arr[1].value},function(r){
|
|
|
+ e.setAttribute('data-loading', 'false');
|
|
|
+ if(r.status=="passwordError"){
|
|
|
+ arr[0].showError('密码格式错误');
|
|
|
+ }else if(r.status=="passwordRepeat"){
|
|
|
+ arr[0].showError('新密码不能与之前设置过的密码重复');
|
|
|
+ }else{
|
|
|
+ var toast = document.querySelector('.login-dig-success-toast')
|
|
|
+ toast.classList.add('is-show')
|
|
|
+ setTimeout(function () {
|
|
|
+ toast.classList.remove('is-show')
|
|
|
+ if(sessionStorage){
|
|
|
+ sessionStorage.reLogin=1;
|
|
|
+ }
|
|
|
+ window.history.back();
|
|
|
+ }, 1500);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // 验证码/密码登录
|
|
|
+ ajaxLoginPass: function (e, arr) {
|
|
|
+ $.post("/phone/login",{reqType:"phoneLogin",phone:arr[0].value,password: arr[1].value},function(r){
|
|
|
+ e.setAttribute('data-loading', 'false')
|
|
|
+ if(r.status==1){
|
|
|
+ logic(r.userInfo,mynum);
|
|
|
+ }else if(r.status==-1){
|
|
|
+ arr[0].showError('该手机号未注册')
|
|
|
+ }else if(r.status==-2){
|
|
|
+ arr[1].showError('密码输入错误')
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ ajaxLoginSms: function (e, arr) {
|
|
|
+ $.post("/phone/login",{reqType:"identCodeLogin",identCode:arr[2].value},function(r){
|
|
|
+ e.setAttribute('data-loading', 'false')
|
|
|
+ if(r.status==1){
|
|
|
+ logic(r.userInfo,mynum);
|
|
|
+ }else if(r.status==-1){
|
|
|
+ arr[2].showError('短信验证码输入错误')
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 初始化弹窗
|
|
|
+ try{
|
|
|
+ initDirect()
|
|
|
+ }catch(e){}
|
|
|
+ // 初始化忘记密码
|
|
|
+ initForgetDirect()
|
|
|
+ if(sessionStorage&&sessionStorage.reLogin==1){
|
|
|
+ sessionStorage.removeItem("reLogin");
|
|
|
+ $(".login-dig-tabbar-navbar>[name='pass']").click();
|
|
|
+ openLoginDig();
|
|
|
+ }
|
|
|
+ $("#bidLogin").on("show.bs.modal", function () {
|
|
|
+ $("#bidLogin .verify-img").attr("src","/front/landpage/captcha?v="+new Date().getTime());
|
|
|
+ });
|
|
|
+ $("#bidLogin").on("hidden.bs.modal", function () {
|
|
|
+ $(".public-nav").css({"padding-right":""});
|
|
|
+ if($("#bidLogin").attr("data-rec")){
|
|
|
+ $("#bidLogin").removeAttr("data-rec");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ function startTimeDown (type) {
|
|
|
+ var nowCount = 60
|
|
|
+ if (sessionStorage.getItem('login-verify-start-time')) {
|
|
|
+ var cCount = parseInt((new Date().getTime() - sessionStorage.getItem('login-verify-start-time')) / 1000)
|
|
|
+ if (cCount >= 0 & cCount <= 60) {
|
|
|
+ nowCount -= cCount
|
|
|
+ } else {
|
|
|
+ sessionStorage.removeItem('login-verify-start-time')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var nowQ = 'span[data-name="verify_get_sms"]'
|
|
|
+ var otherQ = 'span[data-name="forge_get_sms"]'
|
|
|
+ if (type === 'forge') {
|
|
|
+ var tempQ = nowQ
|
|
|
+ nowQ = otherQ
|
|
|
+ otherQ = tempQ
|
|
|
+ }
|
|
|
+ var Ele = document.querySelector(nowQ)
|
|
|
+ var otherEle = document.querySelector(otherQ)
|
|
|
+ var defalutIT = '重新获取('+ --nowCount +'s)'
|
|
|
+ if (Ele) Ele.innerText = defalutIT
|
|
|
+ if (otherEle) otherEle.innerText = defalutIT
|
|
|
+ var nowSS = window.setInterval(function () {
|
|
|
+ if (nowCount === 1 || !sessionStorage.getItem('login-verify-start-time')) {
|
|
|
+ clearInterval(nowSS)
|
|
|
+ if (Ele) Ele.innerText = '获取验证码'
|
|
|
+ if (Ele) Ele.classList.remove('is-stop')
|
|
|
+ if (otherEle) otherEle.innerText = '获取验证码'
|
|
|
+ sessionStorage.removeItem('login-verify-start-time')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var iT = '重新获取('+ --nowCount +'s)'
|
|
|
+ if (Ele) Ele.classList.add('is-stop')
|
|
|
+ if (Ele) Ele.innerText = iT
|
|
|
+ if (otherEle) otherEle.classList.add('is-stop')
|
|
|
+ if (otherEle) otherEle.innerText = iT
|
|
|
+ }, 1000)
|
|
|
+ }
|
|
|
+ function getSMSCode (e) {
|
|
|
+ if (e.classList.contains('is-stop')) return
|
|
|
+ var verifyStartTime = new Date().getTime()
|
|
|
+ var oldTime = sessionStorage.getItem('login-verify-start-time') || verifyStartTime - 70000
|
|
|
+ if (verifyStartTime - oldTime >= 60000) {
|
|
|
+ var nowQ = e.getAttribute('data-name') === 'forge_get_sms' ? 'forge' : 'verify'
|
|
|
+ Direct.ajaxSms(e, nowQ)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 表单规则
|
|
|
+ function ruleForPhone (data, type) {
|
|
|
+ var checkStatus = /^[1][3-9][0-9]{9}$/.test(data.value)
|
|
|
+ if (type === 'input') {
|
|
|
+ return data.value.length >= 11 ? checkStatus : true
|
|
|
+ }
|
|
|
+ if (type === 'blur') {
|
|
|
+ return data.value.length ? checkStatus : true
|
|
|
+ }
|
|
|
+ return checkStatus
|
|
|
+ }
|
|
|
+ function ruleForCode (data, type) {
|
|
|
+ var checkStatus = /^\S{4}$/.test(data.value)
|
|
|
+ if (type === 'blur') {
|
|
|
+ return data.value.length ? checkStatus : true
|
|
|
+ }
|
|
|
+ if (type === 'input') {
|
|
|
+ return data.value.length == 4 ? checkStatus : true
|
|
|
+ }
|
|
|
+ return checkStatus
|
|
|
+ }
|
|
|
+ function ruleForSms (data, type) {
|
|
|
+ var checkStatus = /^\S{6}$/.test(data.value)
|
|
|
+ if (type === 'blur') {
|
|
|
+ return data.value.length ? checkStatus : true
|
|
|
+ }
|
|
|
+ if (type === 'input') {
|
|
|
+ return data.value.length == 6 ? checkStatus : true
|
|
|
+ }
|
|
|
+ return checkStatus
|
|
|
+ }
|
|
|
+ function ruleForPass (data, type) {
|
|
|
+ var checkStatus = /^\S{6,}$/.test(data.value)
|
|
|
+ if (type === 'blur') {
|
|
|
+ return data.value.length ? checkStatus : true
|
|
|
+ }
|
|
|
+ if (type === 'input') {
|
|
|
+ return data.value.length >= 6 ? checkStatus : true
|
|
|
+ }
|
|
|
+ return checkStatus
|
|
|
+ }
|
|
|
+ function createFormStauts (formOption) {
|
|
|
+ var nowEle = document.querySelector(formOption.el)
|
|
|
+ var errClass = 'is-error'
|
|
|
+ // 实时状态
|
|
|
+ var nowData = {
|
|
|
+ status: null,
|
|
|
+ next: false,
|
|
|
+ value: null,
|
|
|
+ el: nowEle,
|
|
|
+ showError: function (error) {
|
|
|
+ this.status = false
|
|
|
+ this.next = false
|
|
|
+ formOption.upStatus()
|
|
|
+ if (error) {
|
|
|
+ this.el.parentNode.setAttribute('data-error', error)
|
|
|
+ this.el.parentNode.classList.add(errClass)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 错误提示
|
|
|
+ if (formOption.errorTip && formOption.errorTip !== '') {
|
|
|
+ nowEle.parentNode.setAttribute('data-error', formOption.errorTip)
|
|
|
+ }
|
|
|
+ // 校验规则
|
|
|
+ if (typeof formOption.rule !== "function") {
|
|
|
+ formOption.rule = function (data) {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 状态变动通知回调
|
|
|
+ if (typeof formOption.upStatus !== "function") {
|
|
|
+ formOption.upStatus = function (data) {
|
|
|
+ return true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 监听事件
|
|
|
+ var events = formOption.event;
|
|
|
+ for(var i=0;i<events.length;i++){
|
|
|
+ if (nowEle) nowEle.addEventListener(events[i],function (e) {
|
|
|
+ // input
|
|
|
+ var nowTarget = e.target
|
|
|
+ var errorTarget = nowTarget.parentNode
|
|
|
+ // 移除错误提示
|
|
|
+ errorTarget.classList.remove(errClass)
|
|
|
+ // 更新状态
|
|
|
+ nowData.value = nowTarget.value
|
|
|
+ nowData.status = formOption.rule(nowData, e.type)
|
|
|
+ nowData.next = formOption.rule(nowData, 'next')
|
|
|
+ formOption.upStatus()
|
|
|
+ // 更新错误提示
|
|
|
+ if (nowData.status) {
|
|
|
+ errorTarget.classList.remove(errClass)
|
|
|
+ } else {
|
|
|
+ errorTarget.classList.add(errClass)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ /*formOption.event.forEach(function(v){
|
|
|
+ if (nowEle) nowEle.addEventListener(v,function (e) {
|
|
|
+ // input
|
|
|
+ var nowTarget = e.target
|
|
|
+ var errorTarget = nowTarget.parentNode
|
|
|
+ // 移除错误提示
|
|
|
+ errorTarget.classList.remove(errClass)
|
|
|
+ // 更新状态
|
|
|
+ nowData.value = nowTarget.value
|
|
|
+ nowData.status = formOption.rule(nowData, v)
|
|
|
+ nowData.next = formOption.rule(nowData, 'next')
|
|
|
+ formOption.upStatus()
|
|
|
+ // 更新错误提示
|
|
|
+ if (nowData.status) {
|
|
|
+ errorTarget.classList.remove(errClass)
|
|
|
+ } else {
|
|
|
+ errorTarget.classList.add(errClass)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ });*/
|
|
|
+ return nowData
|
|
|
+ }
|
|
|
+ // 事件
|
|
|
+ function installInputEvent () {
|
|
|
+ // verify img event for click
|
|
|
+ var s1 = document.querySelectorAll('.login-dig-input-box .verify-img');
|
|
|
+ for(var i=0;i<s1.length;i++){
|
|
|
+ s1[i].addEventListener('click', function (e) {
|
|
|
+ e.target.src = '/front/landpage/captcha?v='+new Date().getTime();
|
|
|
+ })
|
|
|
+ }
|
|
|
+ var s2 = document.querySelectorAll('.login-dig-input-box .l-get-sms');
|
|
|
+ for(var i=0;i<s2.length;i++){
|
|
|
+ s2[i].addEventListener('click', function (e) {
|
|
|
+ getSMSCode(e.target)
|
|
|
+ })
|
|
|
+ }
|
|
|
+ var s3 = document.querySelectorAll('.login-dig-input-box input');
|
|
|
+ for(var i=0;i<s3.length;i++){
|
|
|
+ s3[i].addEventListener('focus', function (e) {
|
|
|
+ var nowInput = e.target
|
|
|
+ nowInput.parentNode.classList.add('is-focus')
|
|
|
+ })
|
|
|
+ s3[i].addEventListener('blur', function (e) {
|
|
|
+ var nowInput = e.target
|
|
|
+ nowInput.parentNode.classList.remove('is-focus')
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // E-公用
|
|
|
+
|
|
|
+ // 忘记密码
|
|
|
+ function toggleStep (type) {
|
|
|
+ var nowArr = ['.forget-form-box[data-step="1"]', '.forget-step-title[data-step="1"]']
|
|
|
+ var otherArr = ['.forget-form-box[data-step="2"]', '.forget-step-title[data-step="2"]']
|
|
|
+ for(var i=0;i<otherArr.length;i++){
|
|
|
+ if (document.querySelector(otherArr[i])) document.querySelector(otherArr[i]).style.display = (type ? 'none' : '')
|
|
|
+ }
|
|
|
+ for(var i=0;i<nowArr.length;i++){
|
|
|
+ if (document.querySelector(nowArr[i])) document.querySelector(nowArr[i]).style.display = (type ? '' : 'none')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 弹窗登录
|
|
|
+ function installAddEventListener () {
|
|
|
+ // tabbar toggle event
|
|
|
+ document.querySelector('.login-dig-tabbar-navbar').addEventListener('click', function (e) {
|
|
|
+ if (e.target.nodeName !== "SPAN") return
|
|
|
+ if (e.target.classList.contains('is-active')) {
|
|
|
+ return
|
|
|
+ }
|
|
|
+ var SelectName = e.target.getAttribute('name')
|
|
|
+ document.querySelector('.login-dig-tabbar-navbar span.is-active').classList.toggle('is-active')
|
|
|
+ e.target.classList.toggle('is-active')
|
|
|
+ // content toggle
|
|
|
+ document.querySelector('.login-dig-tabbar-content.is-active').classList.toggle('is-active')
|
|
|
+ document.querySelector('.login-dig-tabbar-content[data-name="'+ SelectName +'"]').classList.toggle('is-active')
|
|
|
+ })
|
|
|
+ installInputEvent()
|
|
|
+ }
|
|
|
+ // 初始化
|
|
|
+ function isCheckInit() {
|
|
|
+ return document.querySelector('button[name="forge_submit_phone"]')
|
|
|
+ }
|
|
|
+ function initDirect () {
|
|
|
+ // 初始化事件
|
|
|
+ installAddEventListener()
|
|
|
+ // 初始化倒计时
|
|
|
+ startTimeDown()
|
|
|
+ // 验证码登录
|
|
|
+ var verifySubmit = {
|
|
|
+ el: 'button[name="verify_submit"]',
|
|
|
+ arr: [],
|
|
|
+ init: function (arr) {
|
|
|
+ this.arr = arr
|
|
|
+ this.check()
|
|
|
+ var submitEle = document.querySelector(this.el)
|
|
|
+ submitEle.addEventListener('click', this.submit)
|
|
|
+ },
|
|
|
+ submit: function (e) {
|
|
|
+ var e = e.target
|
|
|
+ if (e.getAttribute('data-loading') === 'true') return
|
|
|
+ e.setAttribute('data-loading', 'true')
|
|
|
+ Direct.ajaxLoginSms(e, verifySubmit.arr)
|
|
|
+ },
|
|
|
+ check: function () {
|
|
|
+ var submitEle = document.querySelector(this.el)
|
|
|
+ var checkStauts = false
|
|
|
+ for(var i=0;i<this.arr.length;i++){
|
|
|
+ if (!this.arr[i].next) {
|
|
|
+ checkStauts = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (checkStauts) {
|
|
|
+ submitEle.setAttribute('disabled', checkStauts)
|
|
|
+ } else {
|
|
|
+ submitEle.removeAttribute('disabled')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var verifySendSms = {
|
|
|
+ el: '.login-dig-input-box span[data-name="verify_get_sms"]',
|
|
|
+ update: function (type) {
|
|
|
+ var Ele = document.querySelector(this.el)
|
|
|
+ if (type) {
|
|
|
+ Ele.classList.remove('is-stop')
|
|
|
+ } else {
|
|
|
+ Ele.classList.add('is-stop')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var verifyPhone = createFormStauts({
|
|
|
+ el: '.login-dig-input-box input[name="verify_phone"]',
|
|
|
+ rule: ruleForPhone,
|
|
|
+ event: ['input', 'blur'],
|
|
|
+ upStatus: function () {
|
|
|
+ verifySubmit.check()
|
|
|
+ verifySendSms.update(verifyCode.next && verifyPhone.next)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ var verifyCode = createFormStauts({
|
|
|
+ el: '.login-dig-input-box input[name="verify_code"]',
|
|
|
+ rule: ruleForCode,
|
|
|
+ event: ['input', 'blur'],
|
|
|
+ upStatus: function () {
|
|
|
+ verifySubmit.check()
|
|
|
+ verifySendSms.update(verifyCode.next && verifyPhone.next)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ var verifySms = createFormStauts({
|
|
|
+ el: '.login-dig-input-box input[name="verify_sms"]',
|
|
|
+ rule: ruleForSms,
|
|
|
+ event: ['input', 'blur'],
|
|
|
+ upStatus: function () {
|
|
|
+ verifySubmit.check()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ verifySubmit.init([verifyPhone, verifyCode, verifySms])
|
|
|
+ verifySendSms.update(verifyCode.next && verifyPhone.next)
|
|
|
+
|
|
|
+ // 密码登录
|
|
|
+ var passSubmit = {
|
|
|
+ el: 'button[name="pass_submit"]',
|
|
|
+ arr: [],
|
|
|
+ init: function (arr) {
|
|
|
+ this.arr = arr
|
|
|
+ this.check()
|
|
|
+ var submitEle = document.querySelector(this.el)
|
|
|
+ submitEle.addEventListener('click', this.submit)
|
|
|
+ },
|
|
|
+ submit: function (e) {
|
|
|
+ var e = e.target
|
|
|
+ if (e.getAttribute('data-loading') === 'true') return
|
|
|
+ e.setAttribute('data-loading', 'true')
|
|
|
+ Direct.ajaxLoginPass(e, passSubmit.arr)
|
|
|
+ },
|
|
|
+ check: function () {
|
|
|
+ var submitEle = document.querySelector(this.el)
|
|
|
+ var checkStauts = false
|
|
|
+ for(var i=0;i<this.arr.length;i++){
|
|
|
+ if (!this.arr[i].next) {
|
|
|
+ checkStauts = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (checkStauts) {
|
|
|
+ submitEle.setAttribute('disabled', checkStauts)
|
|
|
+ } else {
|
|
|
+ submitEle.removeAttribute('disabled')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var passPhone = createFormStauts({
|
|
|
+ el: '.login-dig-input-box input[name="pass_phone"]',
|
|
|
+ rule: ruleForPhone,
|
|
|
+ event: ['input', 'blur'],
|
|
|
+ upStatus: function () {
|
|
|
+ passSubmit.check()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ var passPass = createFormStauts({
|
|
|
+ el: '.login-dig-input-box input[name="pass_pass"]',
|
|
|
+ rule: ruleForPass,
|
|
|
+ event: ['input', 'blur'],
|
|
|
+ upStatus: function () {
|
|
|
+ passSubmit.check()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ passSubmit.init([passPhone, passPass])
|
|
|
+ Direct.verify = {
|
|
|
+ phone: verifyPhone,
|
|
|
+ code: verifyCode
|
|
|
+ }
|
|
|
+ }
|
|
|
+ function initForgetDirect () {
|
|
|
+ // 判断是否需要初始化
|
|
|
+ if (!isCheckInit()) return
|
|
|
+ // 初始化显示
|
|
|
+ toggleStep(true)
|
|
|
+ // 初始化倒计时
|
|
|
+ startTimeDown('forge')
|
|
|
+ // 手机验证
|
|
|
+ var verifySubmit = {
|
|
|
+ el: 'button[name="forge_submit_phone"]',
|
|
|
+ arr: [],
|
|
|
+ init: function(arr) {
|
|
|
+ this.arr = arr
|
|
|
+ this.check()
|
|
|
+ var submitEle = document.querySelector(this.el)
|
|
|
+ if (!submitEle) return
|
|
|
+ submitEle.addEventListener('click', this.submit)
|
|
|
+ },
|
|
|
+ submit: function (e) {
|
|
|
+ var e = e.target
|
|
|
+ if (e.getAttribute('data-loading') === 'true') return
|
|
|
+ e.setAttribute('data-loading', 'true')
|
|
|
+ Direct.ajaxStepOne(e, verifySubmit.arr)
|
|
|
+ },
|
|
|
+ check: function () {
|
|
|
+ var submitEle = document.querySelector(this.el)
|
|
|
+ if (!submitEle) return
|
|
|
+ var checkStauts = false
|
|
|
+ for(var i=0;i<this.arr.length;i++){
|
|
|
+ if (!this.arr[i].next) {
|
|
|
+ checkStauts = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (checkStauts) {
|
|
|
+ submitEle.setAttribute('disabled', checkStauts)
|
|
|
+ } else {
|
|
|
+ submitEle.removeAttribute('disabled')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var verifySendSms = {
|
|
|
+ el: '.login-dig-input-box span[data-name="forge_get_sms"]',
|
|
|
+ update: function(type) {
|
|
|
+ var Ele = document.querySelector(this.el)
|
|
|
+ if (type) {
|
|
|
+ Ele.classList.remove('is-stop')
|
|
|
+ } else {
|
|
|
+ Ele.classList.add('is-stop')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var verifyPhone = createFormStauts({
|
|
|
+ el: '.login-dig-input-box input[name="forge_phone"]',
|
|
|
+ rule: ruleForPhone,
|
|
|
+ event: ['input', 'blur'],
|
|
|
+ upStatus: function () {
|
|
|
+ verifySubmit.check()
|
|
|
+ verifySendSms.update(verifyCode.next && verifyPhone.next)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ var verifyCode = createFormStauts({
|
|
|
+ el: '.login-dig-input-box input[name="forge_code"]',
|
|
|
+ rule: ruleForCode,
|
|
|
+ event: ['input', 'blur'],
|
|
|
+ upStatus: function () {
|
|
|
+ verifySubmit.check()
|
|
|
+ verifySendSms.update(verifyCode.next && verifyPhone.next)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ var verifySms = createFormStauts({
|
|
|
+ el: '.login-dig-input-box input[name="forge_sms"]',
|
|
|
+ rule: ruleForSms,
|
|
|
+ event: ['input', 'blur'],
|
|
|
+ upStatus: function () {
|
|
|
+ verifySubmit.check()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ verifySubmit.init([verifyPhone, verifyCode, verifySms])
|
|
|
+ verifySendSms.update(verifyCode.next && verifyPhone.next)
|
|
|
+
|
|
|
+ // 密码重置
|
|
|
+ var passSubmit = {
|
|
|
+ el: 'button[name="forge_submit_pass"]',
|
|
|
+ arr: [],
|
|
|
+ init: function(arr) {
|
|
|
+ this.arr = arr
|
|
|
+ this.check()
|
|
|
+ var submitEle = document.querySelector(this.el)
|
|
|
+ submitEle.addEventListener('click', this.submit)
|
|
|
+ },
|
|
|
+ submit: function (e) {
|
|
|
+ var e = e.target
|
|
|
+ if (e.getAttribute('data-loading') === 'true') return
|
|
|
+ e.setAttribute('data-loading', 'true')
|
|
|
+ Direct.ajaxStepTwo(e, passSubmit.arr)
|
|
|
+ },
|
|
|
+ check: function () {
|
|
|
+ var submitEle = document.querySelector(this.el)
|
|
|
+ var checkStauts = false
|
|
|
+ for(var i=0;i<this.arr.length;i++){
|
|
|
+ if (!this.arr[i].next) {
|
|
|
+ checkStauts = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (checkStauts) {
|
|
|
+ submitEle.setAttribute('disabled', checkStauts)
|
|
|
+ } else {
|
|
|
+ if (this.arr[0].value !== this.arr[1].value) {
|
|
|
+ this.arr[1].showError('两次密码输入不一致')
|
|
|
+ } else {
|
|
|
+ submitEle.removeAttribute('disabled')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ var passPhone = createFormStauts({
|
|
|
+ el: '.login-dig-input-box input[name="forge_pass_one"]',
|
|
|
+ rule: ruleForPass,
|
|
|
+ event: ['input', 'blur'],
|
|
|
+ upStatus: function () {
|
|
|
+ passSubmit.check()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ var passPass = createFormStauts({
|
|
|
+ el: '.login-dig-input-box input[name="forge_pass_two"]',
|
|
|
+ rule: ruleForPass,
|
|
|
+ event: ['input', 'blur'],
|
|
|
+ upStatus: function () {
|
|
|
+ passSubmit.check()
|
|
|
+ }
|
|
|
+ })
|
|
|
+ passSubmit.init([passPhone, passPass])
|
|
|
+
|
|
|
+ Direct.forge = {
|
|
|
+ phone: verifyPhone,
|
|
|
+ code: verifyCode
|
|
|
+ }
|
|
|
+ }
|
|
|
+});
|
|
|
+function openLoginDig() {
|
|
|
+ $("#bidLogin").modal("show");
|
|
|
+}
|
|
|
+function closeLoginDig() {
|
|
|
+ $("#bidLogin").modal("hide");
|
|
|
+}
|
|
|
+function openLoginDigForWx (type) {
|
|
|
+ var otherArr = ['.login-dig-box > .logo','.login-dig-footer-box .wx-logo-box', '.login-dig-footer-box .login-dig-text-split' ,'.login-dig-tabbar-navbar', '.login-dig-tabbar-content', '.login-dig-tabbar-content.is-active']
|
|
|
+ var wxArr = ['.login-dig-wx-qrcode-box', '.login-dig-top-back-box']
|
|
|
+ for(var i=0;i<otherArr.length;i++){
|
|
|
+ document.querySelector(otherArr[i]).style.display = (type ? 'none' : '')
|
|
|
+ }
|
|
|
+ for(var i=0;i<wxArr.length;i++){
|
|
|
+ document.querySelector(wxArr[i]).style.display = (type ? '' : 'none')
|
|
|
+ }
|
|
|
+}
|