$(function () { var _login = { hasCaptcha: false, base: "", getFormData: function () { var formData = $(this).parents("form").serializeArray(), submmitData = {}, flag = true, emailReg = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,5}$/; formData.forEach(function (item) { var name = item.name, value = item.value; if (value == "" || (name == "mobile" && value.length < 11)) { flag = false; return; } submmitData[name] = value; }); return { flag: flag, submmitData: submmitData, }; }, changeInputHandle: function () { var $this = $(this), flag = _login.getFormData.call($this).flag, $submmitBtn = $this.parents(".form").find("._submmit"); $submmitBtn.prop("disabled", false); }, changeInput: function () { var $this = $(this); $this.on("input propertychange keyup", function () { var $submmitBtn = $this.parents(".form").find("._submmit"), type = $this.attr("name"), val = $this.val(), $tips = $this.siblings(".error-tips"), reg = /^1[3456789]\d{9}$/, flag = _login.getFormData.call($this).flag; if (type == "mobile") { switch (true) { case !val: $tips.html("璇疯緭鍏ユ墜鏈哄彿").show(); break; case !reg.test(val): $tips.html("璇疯緭鍏ユ纭殑鎵嬫満鍙?).show(); break; case reg.test(val): _login.hasCaptcha = false; _login.initCaptcha.refresh && _login.initCaptcha.refresh(); $tips.hide(); break; } } else { !val ? $tips.show() : $tips.hide(); } $submmitBtn.prop("disabled", false); }); }, showPassToast: function () { var emailNum = $("._findEmail").data("value"), moblieNum = $("._findMoblie").data("value"); if (emailNum <= 0 && moblieNum <= 0) { $("._noNumModal").show(); return; } emailNum <= 0 ? $("._findEmail").hide().siblings().addClass("submmit-btn-center") : ""; moblieNum <= 0 ? $("._findMoblie").hide().siblings().addClass("submmit-btn-center") : ""; $("._passModal").show(); }, closeToast: function (e) { e.preventDefault(); $(".toast").hide(); }, codeseconds: function () { var $codeBtn = $(".code-btn"); if (isNaN(window.waitseconds) || window.waitseconds <= 0) { window.waitseconds = 0; // 澧炲姞鑾峰彇璇煶楠岃瘉鐮 _login.showVoiceCodeTooltips(); $codeBtn .html("鑾峰彇楠岃瘉鐮?) .prop("disabled", false) .removeClass("sending-code"); _login.initCaptcha.refresh && _login.initCaptcha.refresh(); clearInterval(window.timer); } else { window.waitseconds--; $codeBtn .html(window.waitseconds + "绉掑悗閲嶅彂") .prop("disabled", true) .addClass("sending-code"); _login.hasCaptcha = false; _login.initCaptcha.refresh && _login.initCaptcha.refresh(); } }, // 鏄剧ず鐐瑰嚮鑾峰彇璇煶楠岃瘉鐮佺殑鎻愮ず showVoiceCodeTooltips: function () { var $codeContainer = $("#_codeContainer"); var offset = $codeContainer.offset(); var containerH = $codeContainer.outerHeight(); var voiceCodeTips = '
\ 鏀朵笉鍒扮煭淇★紵\ 鐐瑰嚮鑾峰彇璇煶楠岃瘉鐮?/a>\
'; $("body").append(voiceCodeTips); _login.toggleAni($("#_voiceCodeTooltip"), ["hidden", "ani"], true); }, // 鏄剧ず璇煶楠岃瘉鐮佹彁绀 showAlertVoiceCodeModal: function (phone) { phone = "(0756)6251556"; var modalHTML = '
\
\ 鍏抽棴\
\
\
璇锋敞鎰忔帴鏀朵互025鍜?755寮€澶寸殑鏉ョ數
\
\ 骞跺~鍐欐潵鐢典腑鍚埌鐨?浣嶆暟瀛楅獙璇佺爜\
\
\ \
\
'; $("body").append(modalHTML).addClass("has-info-modal"); _login.toggleAni($("#_infoModal"), ["hidden", "ani"], true); }, // 娣诲姞鏍峰紡 toggleAni: function (ele, frameKey, isOpen) { var addedCls = ""; var duration = frameKey.length * 100; if (isOpen) { ele.addClass(frameKey[0]); addedCls = frameKey[0]; for (var i = 1; i < frameKey.length; i++) { (function (i) { setTimeout(function () { ele.addClass(frameKey[i]); addedCls += " " + frameKey[i]; }, i * 100); })(i); } if (typeof window.ontransitionend) { ele.on("transitionend", function () { ele.removeClass(addedCls); }); } else { setTimeout(function () { ele.removeClass(addedCls); }, duration); } // setTimeout(function(){ // },duration); } else { for (var i = frameKey.length - 1; i >= 0; i--) { (function (i) { setTimeout(function () { ele.addClass(frameKey[i]); }, i * 100); })(i); } setTimeout(function () { ele.remove(); }, duration + 100); } }, // 鍏抽棴璇煶鎻愮ず寮圭獥 handleCloseInfoModal: function () { _login.toggleAni($("#_infoModal"), ["hidden"], false); $("body").removeClass("has-info-modal"); }, getAndValidUserInfo: function () { var $mobile = $("._mobile:visible"), mobile = $mobile.val(); if (!mobile) { $mobile.next().html("璇疯緭鍏ユ墜鏈哄彿").show(); return false; } if (!/^1[3456789]\d{9}$/.test(mobile)) { $mobile.next().html("璇疯緭鍏ユ纭殑鎵嬫満鍙?).show(); return false; } return mobile; }, // 鏄剧ず璇煶鎻愮ず handleGetVoiceCode: function () { $.ajax({ url: "voice_verifycode.php?code=get&mobile=" + _login.getAndValidUserInfo(), }).done(function (res) { if (res === "done") { _login.showAlertVoiceCodeModal(); } }); }, sendCode: function () { var $mobile = $("._mobile:visible"), mobile = $mobile.val(); if (!mobile) { $mobile.next().html("璇疯緭鍏ユ墜鏈哄彿").show(); return false; } if (!/^1[3456789]\d{9}$/.test(mobile)) { $mobile.next().html("璇疯緭鍏ユ纭殑鎵嬫満鍙?).show(); return false; } if (!_login.hasCaptcha) { _login.initCaptcha.refresh && _login.initCaptcha.refresh(); $("._captchaModal").show(); return false; } _login.sendCodeHandle(); }, sendCodeHandle: function () { var moblie = $("._mobile").val(), data = { code: "get", mobile: moblie, dun_code: _login.verifyCode, }; $.ajax({ url: "/member/verifycodesafety.php", data: data, success: function (res) { if (res.code != 0) { var msgTip = res.data ? res.data.msg : res.msg; layer.msg(msgTip); _login.hasCaptcha = false; return false; } window.waitseconds = 60; window.timer = setInterval(_login.codeseconds, 1000); }, }); }, initCaptcha: function () { initNECaptcha( { captchaId: "5be5a701dfef49faa1e0e786ecd3647b", element: "#captcha", onVerify: function (err, data) { if (!err) { _login.verifyCode = data.validate || ""; _login.hasCaptcha = true; _login.sendCodeHandle(); setTimeout(function () { $("._captchaModal").hide(); }, 1000); } }, }, function (instance) { _login.initCaptcha = instance; }, function (err) { console.log(err); } ); }, showErrorMsg: function (res) { if (typeof res == "string") { layer.msg(res); return false; } var errMsg = ""; if (res.error && res.error.length) { errMsg = res.error[0].value; } else if (res.data && res.data.code >= 400) { errMsg = res.data.msg; } else { errMsg = res.msg; } layer.msg(errMsg); }, submmitFun: function () { console.log("logon.js"); var $this = $(this), data = _login.getFormData.call($this).submmitData, url = $this.data("url"), msg = $this.data("msg"), type = $this.data("type"), loginType = $this.data("login"), page = $this.data("page"); if (type == "login" && location.search !== "") { // 鐧诲綍椤甸潰灏唘rl绛夊弬鏁板甫鍒拌烦杞湴鍧€鍐 var search = location.search.substring(1, location.search.length), searchData = search.split("&"); searchData.forEach(function (item) { var itemData = [item.substring(0, item.indexOf('=')),item.substring(item.indexOf('=')+1)]; data[itemData[0]] = itemData[1]; }); } if (data.pass && data.pass != "" && type == "login") { data.pass = _login.base.encode(data.pass); } if ( data.pass && data.pass != "" && data.email && data.email != "" && type == "login" ) { data.sn = md5(data.email + data.pass); } if (type == "sendEmail" && !data.name) { $("#nametips").show(); return false; } if (loginType == "pass" && (!data.email || !data.sn)) { layer.msg("鐢ㄦ埛鍚嶆垨瀵嗙爜濉啓瀹屾暣"); return false; } if (loginType == "code" && (!data.mobile || !data.code)) { layer.msg("璇峰~鍐欓獙璇佺爜"); return false; } if (type == "findPwd" && data.new_pass != data.repass) { return false; } $.ajax({ url: url, type: type == "sendEmail" ? "get" : "post", data: data, success: function (res) { if (res.code >= 400) { _login.showErrorMsg(res); return false; } if (res.code == 0) { layer.msg(msg); if (type == "sendEmail") { var qs = "&email=" + data.email + "&name=" + data.name + "&status=" + res.data.status; window.location.href = "/member/getpass.php?type=1" + qs; return; } // 鍗曚綅浼氬憳瀛樻墜鏈哄彿鍙婂崟浣嶅悕绉 娉ㄥ唽椤靛洖鏄剧敤 if ((page = "omemberLogin")) { sessionStorage.setItem("omLoginName", data.name); sessionStorage.setItem("omLoginMobile", data.mobile); } setTimeout(function () { window.location.href = res.data.url; }, 1000); } }, }); }, // 鐢熸垚绉诲姩绔簩缁寸爜 initQrcode: function () { var url = $("#url").val(); var qrcode = new QRCode(document.getElementById("qrcode"), { width: 66, height: 66, }); qrcode.makeCode(url); }, // 鍒囨崲鐧诲綍鏂瑰紡锛屾樉绀轰笉鍚岀櫥褰曡〃鍗 handleChangeLoginType() { let type = $(this).data().type; if (type == 1) { $("._passwordType").show(); $("._messageType").hide(); } else { $("._passwordType").hide(); $("._messageType").show(); } }, init: function () { if ($("#qrcode").length > 0) { _login.initQrcode(); } _login.base = new Base64(); var html = ' \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ '; // 澶勭悊涓浗鍦熸湪宸ョ▼鍗忎細鐧诲綍椤佃儗鏅 let domaintag = $(".login-content").data("domaintag"); if (domaintag != "cces") { $(".login-content").append(html); } else { } }, }; _login.initCaptcha(); _login.init(); $(document) .on("input blur keyup", ".input", _login.changeInput) // 璋锋瓕璁板綍瀵嗙爜鑷姩濉厖鍚庢敼鍙樼櫥褰曟寜閽姸鎬 .on("change", ".input", _login.changeInputHandle) .on("click", "._findPassBtn", _login.showPassToast) .on("click", "._closeToast", _login.closeToast) .on("click", ".code-btn", _login.sendCode) .on("click", "._submmit", _login.submmitFun) // 鑾峰彇璇煶楠岃瘉鐮 .on("click", "#_getVoiceCodeBtn", _login.handleGetVoiceCode) // 鍏抽棴寮圭獥 .on("click", "._closeModalBtn", _login.handleCloseInfoModal) .on("click", "._changeType", _login.handleChangeLoginType); });