/**统一登录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 = null;
var openid = "";
var jylgi = 0;
var loginflag = false;//登录状态
var mynum = "";//页面参数num
var keysorpname = "";//项目名称
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: true,//是否发起轮询请求
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.init();
//定时器,定时请求看是否扫码登录,返回用户信息,登录
this.loginPollingInterval = setInterval(function(){
//如果浏览器不支持webscoket,走ajax轮询方式
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(){
if("WebSocket" in window){
try{
ws = new WebSocket(wsUrl);//实例化websocket对象
initEventHandle();
}catch(e){
reconnect();
//console.log(e)
}
}else{
LoginPolling.isPostLoginPolling = true;
}
}
//
var initEventHandle = function(){
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) {
SendMsg();
//心跳检测重置
webSocketHeartCheck.reset().start(ws,loginflag);
}
}
//
function reconnect() {
if(webSocketHeartCheck.lockReconnect || loginflag){
return;
}
LoginPolling.isPostLoginPolling = true;
webSocketHeartCheck.lockReconnect = true;
LoginPolling.init();
//没连接上会一直重连,设置延迟避免请求过多
setTimeout(function () {
createWebSocket();
webSocketHeartCheck.lockReconnect = false;
}, 2000);
}
//websocket查看用户是否登录
var JYLogin = function(num){
clearInterval(loginfg)
loginfg = setInterval(function(){
jylgi++;
//console.log(jylgi+"-----")
if(jylgi>120*60){
getNewShareId(num,false);
jylgi = 0;
}
},1000)
}
var SendMsg = function(){
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,isFirst){
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;
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);
$("#bottomimg").attr("src","/front/share/"+pageshareid);
$("*[data-share-img]").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"://订阅页面
$("#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": case "130"://快照页
$("#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);
$("*[data-share-img]").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;
}
JYLogin(num);
}
},'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);
}
})
}
function checkBigStatus () {
$.ajax({
type: 'post',
url: '/bigmember/use/isAdd',
success: function (res) {
if (res && res.data) {
window.memberStatus = res.data.memberStatus
window.memberPower = res.data.power
window.vipStatus = res.data.vipStatus // 是否是超级订阅用户
window.isFree = res.data.isFree // 是否是免费用户
window.freeFile = res.data.freeFile // 免费用户 是否体验过 0:未体验过 -1:体验过
window.viper = res.data.viper // 是否是超级订阅老用户 false:老用户 true: 新用户
window.entniche = res.data.entniche // 商机管理用户
window.fileNum = res.data.fileNum // 超级订阅用户可下载附件次数
window.isLogin = true // 用于其他页面判断是否已登录
sessionStorage.setItem('bidPower', JSON.stringify(res.data.power))
if (res.data.memberStatus > 0) {
$(".myorderDiv.lastBox").show()
}
if (res.data.viper) {
$(".myorderDiv.ent-search").show()
}
if (res.data.power.indexOf(4) == -1 && res.data.vipStatus>0&&res.data.viper) {
$(".myorderDiv.entPortraitRecord").show()
}
if (res.data.power.indexOf(5) == -1 && res.data.vipStatus>0&&res.data.viper) {
$(".myorderDiv.buyerPortraitRecord").show()
}
if (res.data.memberStatus<=0&&res.data.vipStatus>0&&res.data.viper){
$(".myorderDiv.portraitRecord").show()
}
if (res.data.memberStatus > 0 && res.data.vipStatus > 0 && res.data.viper && res.data.power.indexOf(3) === -1) {
$('.fileRecord').show()
}
if (res.data.memberStatus <= 0 && res.data.vipStatus > 0 && res.data.viper) {
$('.fileRecord').show()
}
if ($.isArray(res.data.power)) {
// 大会员没有附加下载包权限用户且新版超级订阅用户
if (res.data.memberStatus > 0 && res.data.vipStatus > 0 && res.data.viper && res.data.power.indexOf(3) === -1) {
$('.fileRecord').show()
}
}
}
}
})
}
// 查询商机管理PC权限
function checkMenuForEnt () {
$.ajax({
type: 'get',
url: '/entbase/ent/mySelectent?t=' + new Date().getTime(),
success: function () {
$.ajax({
type: 'get',
url: '/front/entExportAuth/getAuth?t=' + new Date().getTime(),
success: function (r) {
$(".myorderDiv[data-ent-menu]").remove()
var tempHtml = ''
if(r.myEntMenu){
tempHtml += "
"
+"我的企业"
+"
"
}
if(r.entnicheMenu == true){
if (r.isNew == true) {
tempHtml+= ""
+"商机管理"
+"
"
} else {
tempHtml+= ""
+"商机管理"
+"
"
}
}
if(r.privatedata){
tempHtml+= ""
+"画像分析系统"
+"
"
}
$(".infoList .lastBox").before(tempHtml)
}
})
}
})
}
//查询用户信息,响应页面登录信息
var logic = function(data,num){
if(data.result=="ok"){
clearLoginStorage(/-login-clear/)
//$(".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 = ""
}
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=\"/common-module/public/image/auto.png\";$(this).removeClass(\"nomalheadimg\");'>"
+""
+"
"
+"
"
+"
"
+"
"
+data.s_nickname
+"
"
+"
"
+"我的数据"
+"NEW"
+"
"
+"
"
+"附件下载包"
+"NEW"
+"
"
+"
"
+"我的文库"
+"
"
+"
"
+"文库收藏"
+"
"
+"
"
+"我的剑鱼币"
+"
"
+"
"
+"我的奖券"
+"
"
+"
"
+"我的订单"
+"
"
+"
"
+"大会员"
+"
"
+"
"
+"企业查询"
+"
"
+"
"
+"标讯收藏"
+"
"
+"
"
+"企业画像记录"
+"
"
+"
"
+"采购单位画像记录"
+"
"
hhtml+= "
"
+"

"
+"
退出"
+"
"
+"
"
+"
"
$("#login").html(hhtml);
try{
checkBigStatus()
checkMenuForEnt()
infoListCss();
commonMouseEvent();
message.init()
}catch(e){}
}
}
//登录后处理页面逻辑
var processpage = function(shareid,num){
var toHref=$("#bidLogin").attr("data-rec")
switch (toHref) {
case "sjdc":
window.location.href = "/front/dataExport/toSieve";
return;
case "jydocs":
window.location.href = "/swordfish/docs";
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": case "130"://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
}
}
function clearObjKeyForRegFn (obj, reg) {
if (obj) {
for(var k in obj) {
if (reg.test(k)) {
obj.removeItem(k)
}
}
}
}
function clearLoginStorage (reg) {
clearObjKeyForRegFn(sessionStorage, reg)
clearObjKeyForRegFn(localStorage, reg)
}
//退出登录
var signout = function(){
clearInterval(loginfg);
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"){
$('#noticed').hide()
clearLoginStorage(/-login-clear/)
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/.+$|^/bid/pc/page/.+$");
if(pt.test(window.location.pathname)){
window.location.href="/";
}else{
window.location.reload();
/*LoginPolling.start();
createWebSocket();
getNewShareId(mynum,true);*/
}
window.localStorage.removeItem('bus-key-group-SCOPE')
}
})
}
//查看用户是否已经登录
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 = "
"){
data.redisheadimg=""
}
if(data.s_headimage==null||data.s_headimage==undefined||data.s_headimage==""){
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=\"/common-module/public/image/auto.png\";$(this).removeClass(\"nomalheadimg\");'>"
+""
+"
"
+"
"
+"
"
+"
"
+data.s_nickname
+"
"
+"
"
+"我的数据"
+"NEW"
+"
"
+"
"
+"附件下载包"
+"NEW"
+"
"
+"
"
+"我的文库"
+"
"
+"
"
+"文库收藏"
+"
"
+"
"
+"我的剑鱼币"
+"
"
+"
"
+"我的奖券"
+"
"
+"
"
+"我的订单"
+"
"
+"
"
+"大会员"
+"
"
+"
"
+"企业查询"
+"
"
+"
"
+"标讯收藏"
+"
"
+"
"
+"企业画像记录"
+"
"
+"
"
+"采购单位画像记录"
+"
"
hhtml+= "
"
+"

"
+"
退出"
+"
"
+"
"
+"
"
$("#login").html(hhtml);
try{
checkBigStatus()
checkMenuForEnt()
infoListCss();
commonMouseEvent();
message.init()
}catch(e){}
}
else{
$("#login").html("");
loginBtnType();
//pc限制登陆
var nosess = getParam("nol");
if (nosess=="1"&& (!loginflag) ){
openLoginDig();
}
}
getNewShareId(num,true);
})
}
function loginBtnType(){
var href = window.location.pathname;
var curTheme =$("#public-nav").attr('data-theme')
if (href=="/"||href.indexOf("subscribe")>-1||href.indexOf("advservices")>-1||href.indexOf("solution")>-1||href.indexOf("partner")>-1||href.indexOf("aboutus")>-1||href.indexOf("busicooperation")>-1||href.indexOf("pcindex.html")>-1||window.location.pathname==="/jyxspc/"||window.location.pathname==="/entpc/"){
if(curTheme == 'dark'){
$(".loginBtn").attr("onmouseover","this.style.borderColor='#2cb7ca'; this.style.color='#2cb7ca';");
$(".loginBtn").attr("onmouseout","this.style.borderColor='#fff'; this.style.color='#fff';");
}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';");
}
}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(){
function goBackOrigin (cb) {
var backOrigin = $.cookie('article')
if (backOrigin) {
location.replace(backOrigin)
} else {
typeof cb === 'function' ? cb() : window.close()
}
}
var Direct = {
verify: {},
forge: {},
ajaxSms: function (e, type) {
var _this = this;
switch (type) {
case '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.phone.showError('手机号格式错误');
}else if(r.status==-2){//图形验证码错误
_this.verify.code.showError('图形验证码输入错误');
$("#bidLogin .verify-img").attr("src","/front/landpage/captcha?v="+new Date().getTime());
}else if(r.status==-3){//图形验证码错误
_this.verify.phone.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)
}
});
break
}
case 'register': {
$.post("/phone/login",{
reqType:"sendIdentCode",
register: 'true',
phone:$(".register-form-box .login-dig-input-box [name='register_phone']").val(),
code:$(".register-form-box .login-dig-input-box [name='register_code']").val()
},function(r){
if(r.status==-1){
_this.register.phone.showError('手机号格式错误');
}else if(r.status==-2){//图形验证码错误
_this.register.code.showError('图形验证码输入错误');
$(".register-form-box .verify-img").attr("src","/front/landpage/captcha?v="+new Date().getTime());
}else if(r.status==-3){
_this.register.phone.showError('手机号已被注册');
$(".register-form-box .verify-img").attr("src","/front/landpage/captcha?v="+new Date().getTime());
}else{
sessionStorage.setItem('login-verify-start-time', new Date().getTime())
startTimeDown(type)
}
});
break
}
case 'forge': {
$.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.phone.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)
}
});
break
}
case 'bind-phone': {
$.post("/jypay/user/phone/bind",{
step: 1,
phone:$("#bidLogin .login-dig-input-box [name='verify_phone']").val(),
code:$("#bidLogin .login-dig-input-box [name='verify_code']").val()
},function(r){
if (r && r.error_code > -1) {
sessionStorage.setItem('login-verify-start-time', new Date().getTime())
startTimeDown(type)
} else {
if (r.error_msg === '图形验证码错误') {
if (_this.verify.code.value !== "HIDE") {
_this.verify.code.showError(r.error_msg || '发送错误,请稍后再试');
}
getNewVerify()
} else if (r.error_msg === '手机号已被使用') {
_this.verify.phone.showError('该手机号已被绑定,请更换手机号');
} else {
_this.verify.sms.showError(r.error_msg || '发送错误,请稍后再试');
}
}
});
break
}
}
},
// 忘记密码
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) {
if ($('#bidLogin').attr('data-name') === 'bind-phone') {
$.post("/jypay/user/phone/bind",{
step: 2,
phone: arr[0].value,
code: arr[2].value,
mode: isBindPage ? 'mergeBind' : ''
},function(r){
e.setAttribute('data-loading', 'false')
if (r && r.error_code > -1) {
if(r.data.state==1){
if (isBindPage) {
if (history.length === 1) {
goBackOrigin()
} else {
if (document.referrer === location.href) {
goBackOrigin(function () {
location.href = '/'
})
} else {
history.back()
}
}
return
}
if (r.data.needMerge) {
location.href = '/swordfish/frontPage/userMerge/sess/merge?token=' + r.data.mergeToken
return
} else {
$("#bidLogin").modal("hide")
sessionStorage.setItem('bind-phone', arr[0].value.trim())
typeof window.callBindPhoneSuccess === 'function' && window.callBindPhoneSuccess(true)
}
} else if (r.data.state==2){
location.replace('/swordfish/frontPage/userMerge/sess/merge?token=' + r.data.token)
}
} else {
arr[2].showError(r.error_msg || '绑定错误,请稍后再试')
}
});
} else {
var source = getParam("source");//百度SEM
if (source!=null){
var pathname = window.location.pathname;
if (pathname=="/front/structed/pc_index.html"){//结构化数据
source+="_structed";
}else if (pathname=="/bid/pc/page/bidfile_landpage"){//招标文件解读
source+="_bidfile";
}else if (pathname=="/big/page/index"){//大会员
source+="_member";
}
}else{
source="";
}
$.post("/phone/login",{reqType:"identCodeLogin",identCode:arr[2].value,"source":source},function(r){
e.setAttribute('data-loading', 'false')
if(r.status==1){
logic(r.userInfo,mynum);
}else if(r.status==-1){
arr[2].showError('短信验证码输入错误')
}
});
}
},
ajaxRegister: function (e, arr) {
var source = getParam("source");//百度SEM
if (source!=null){
var pathname = window.location.pathname;
if (pathname=="/front/structed/pc_index.html"){//结构化数据
source+="_structed";
}else if (pathname=="/bid/pc/page/bidfile_landpage"){//招标文件解读
source+="_bidfile";
}else if (pathname=="/big/page/index"){//大会员
source+="_member";
}
}else{
source="";
}
$.post("/phone/login",{reqType:"identCodeLogin",s_entname: arr[3].value, identCode:arr[2].value,"source":source},function(r){
e.setAttribute('data-loading', 'false')
if(r.status==1){
logic(r.userInfo,mynum);
var toast = document.querySelector('.login-dig-success-toast')
toast.classList.add('is-show')
setTimeout(function () {
toast.classList.remove('is-show')
window.history.back();
}, 1500);
}else if(r.status==-1){
arr[2].showError('短信验证码输入错误')
}
});
}
}
// @手机号绑定以及账号合并 2021/1/25
function toggleNeedVerifyInput (f, src) {
var verifyInput = $(".login-dig-tabbar-content.is-active .login-dig-input-box:eq(1)")
if (($('#bidLogin').attr('data-name') === 'bind-phone')) {
if (f) {
if (verifyInput.find('input').val() === 'HIDE') {
verifyInput.find('input').val('')
Direct.verify.code.showError()
}
verifyInput.find('.verify-img').attr('src', src)
verifyInput.show()
} else {
verifyInput.find('input').val('HIDE')
Direct.verify.code.skip('HIDE')
verifyInput.hide()
}
}
}
var oldNeedStatus = false
window.getBindVerify = getNewVerify
function getNewVerify (cb) {
if (!oldNeedStatus) {
toggleNeedVerifyInput(false)
}
$.ajax({
url: '/jypay/user/phone/imgCaptcha?t=' + new Date().getTime(),
success: function (r) {
console.log(r)
if (r && r.data) {
oldNeedStatus = r.data.needVerify
if (r.data.needVerify) {
toggleNeedVerifyInput(true, 'data:image/png;base64,' + r.data.imageData)
typeof cb === 'function' ? cb('data:image/png;base64,' + r.data.imageData) : null
} else {
toggleNeedVerifyInput(false)
}
}
}
})
}
// 初始化弹窗
try{
initDirect()
}catch(e){}
// 初始化忘记密码
initForgetDirect()
initRegisterDirect()
if(sessionStorage&&sessionStorage.reLogin==1){
sessionStorage.removeItem("reLogin");
$(".login-dig-tabbar-navbar>[name='pass']").click();
openLoginDig();
}
$("#bidLogin").on("show.bs.modal", function () {
if ($('#bidLogin').attr('data-name') === 'bind-phone') {
getNewVerify()
} else {
var verify_path = "/front/landpage/captcha?v="
$("#bidLogin .verify-img").attr("src", verify_path + 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
}
if (type === 'register') {
nowQ = 'span[data-name="register_get_sms"]'
otherQ = 'span[data-name="verify_get_sms"]'
}
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'
if ($("#bidLogin").attr('data-name') === 'bind-phone') {
nowQ = 'bind-phone'
// getNewVerify()
}
if (e.getAttribute('data-name') === 'register_get_sms') {
nowQ = 'register'
}
Direct.ajaxSms(e, nowQ)
}
}
// 表单规则
function ruleForPhone (data, type) {
var phoneReg = /^[1][3-9][0-9]{9}$/.test(data.value);
var createPhoneReg =/^[1][0][0][0-9]{8}$/.test(data.value);
var checkStatus = phoneReg || createPhoneReg;
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: formOption.next || false,
value: null,
el: nowEle,
skip: function (value) {
this.status = true
this.next = true
this.value = value
formOption.upStatus()
},
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-1){//结构化数据
sourceStr="结构化数据-pc-baidusem";
}else if (href.indexOf("/bid/pc/page/bidfile_landpage?source=baidusem")>-1){//招标文件解读
sourceStr="招标文件解读-pc-baidusem";
}
if (sourceStr!=""){
try {
_hmt.push(['_trackEvent',sourceStr, 'click', "登录"]);
} catch (e) {
console.log('未初始化百度统计', e);
}
}
$("#bidLogin").modal("show");
}
function openBindPhoneDig() {
openLoginDigForWx(false);
$('#bidLogin .logo').hide()
$('#bidLogin .bind-phone-head').show()
if ($('#bidLogin').attr('data-name') !== 'bind-phone') {
$("#bidLogin").attr('data-name', 'bind-phone')
// $('.login-dig-submit-button:disabled').css('background', '#2CB7CA')
// $('.login-dig-submit-button:disabled').css('opacity', '0.5')
$('.login-dig-submit-button').css('margin-bottom', '12px')
$('.login-dig-submit-button').addClass('bindphonebtn')
$("#bidLogin .login-dig-submit-button[name='verify_submit']").text('立即绑定')
$(".login-dig-tabbar-content[data-name='code'] .login-dig-input-box").removeClass('is-error').children('input').val('')
}
$("#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