$(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 =
'
';
$("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);
});