$(function () { //选择登录方式 var defaultUserLoginType = $("#defaultUserLoginType"); if (defaultUserLoginType.val() == "Phone") { showPhoneRegistered(); } else if (defaultUserLoginType.val() == "Weixin") { showWeixinRegistered(); } else { showPwdRegistered(); } $("#login-select").on("click", "li", function () { var registered = $(this)[0].id; switch (registered) { case "phone_registered": showPhoneRegistered(); break; case "pwd_registered": showPwdRegistered(); break; case "phonepwd_registered": showPhonepwdRegistered(); break; case "weixin_registered": showWeixinRegistered(); break; case "idcard_registered": showIdCardRegistered(); break; case "workweixin-registered": showWorkWeixinRegistered(); break; } }); function removeError() { for (var i = 0; i < $(".field-validation-error").length; i++) { $(".field-validation-error").eq(i).children().remove(); } } function showValidcodedl() { if ($(".enabledvalidcode input[name=ValidateCode]").attr("disabled") != "disabled") { $(".enabledvalidcode").css("display", "block"); } else { $(".enabledvalidcode").css("display", "none"); } } function showPhoneRegistered() { $('.container .form-horizontal').attr('action', $("input[name=userloginurl]").data().phonelogin); $(".hiddenfield").hide().attr("disabled", "disabled"); $(".phone-field").show().removeAttr("disabled"); $(".phone-field input[name=PhoneMessageValidateCode]").removeAttr("disabled"); $(".loginBtn").show(); $(".weixinlogin").hide(); $(".workweixinlogin").hide(); $(".errormessage").text(""); $("input[name=LoginWayType]").val("PhoneLogin"); $("#login-btn button[type=submit]").show(); $(".login-select li").hide(); $(".login-select li.password-registered").show(); $(".login-select li.weixin-registered").show(); $(".login-select li.workweixin-registered").show(); removeError(); showValidcodedl(); } function showPwdRegistered() { $('.container .form-horizontal').attr('action', $("input[name=userloginurl]").data().login); $(".hiddenfield").hide().attr("disabled", "disabled"); $(".password-field").show().removeAttr("disabled"); $(".phone-field input[name=PhoneMessageValidateCode]").attr("disabled", "disabled"); $(".loginBtn").show(); $(".weixinlogin").hide(); $(".workweixinlogin").hide(); $(".errormessage").text(""); $("input[name=LoginWayType]").val("PasswordLogin"); $("#login-btn button[type=submit]").show(); $(".login-select li").hide(); $(".login-select li.phone-registered").show(); $(".login-select li.weixin-registered").show(); $(".login-select li.workweixin-registered").show(); removeError(); showValidcodedl(); } function showPhonepwdRegistered() { $('.container .form-horizontal').attr('action', $("input[name=userloginurl]").data().login); $(".hiddenfield").hide().attr("disabled", "disabled"); $(".phonepassword-field").show().removeAttr("disabled"); $(".phone-field input[name=PhoneMessageValidateCode]").attr("disabled", "disabled"); $(".loginBtn").show(); $(".weixinlogin").hide(); $(".workweixinlogin").hide(); $(".errormessage").text(""); $("input[name=LoginWayType]").val("PhonePasswordLogin"); $("#login-btn button[type=submit]").show(); removeError(); showValidcodedl(); } function showIdCardRegistered() { $('.container .form-horizontal').attr('action', $("input[name=userloginurl]").data().login); $(".hiddenfield").hide().attr("disabled", "disabled"); $(".idcardpassword-field").show().removeAttr("disabled"); $(".phone-field input[name=PhoneMessageValidateCode]").attr("disabled", "disabled"); $(".loginBtn").show(); $(".weixinlogin").hide(); $(".workweixinlogin").hide(); $(".errormessage").text(""); $("input[name=LoginWayType]").val("IdCardLogin"); $("#login-btn button[type=submit]").show(); removeError(); showValidcodedl(); } function showWeixinRegistered() { $.ajax({ url: '/Ajax/AjaxPartial', type: 'post', data: { partialViewName: "微信二维码", parameters: "{siteId:" + $("#logincurrentsiteId").val() + "}" }, success: function (response) { $(".weixinlogin").html(response.html); // 如果是服务号,根据授权登录url生成二维码 if ($("#weixinapptype").val() === '1') { $("#login_container").html('
微信登录

使用微信扫一扫登录

'); new QRCode($("#login_container .wrp_code").get(0), { text: $('#weixinloginurl').val(), width: 280, height: 280 }); } // 如果是网站应用,使用js微信登录内嵌二维码 else { var obj = new WxLogin({ self_redirect: false, id: "login_container", appid: $("#weixinappid").val(), scope: "snsapi_login", redirect_uri: $("#weixinredirecturi").val(), state: $("#weixinstate").val(), style: "black", href: "" }); } }, error: function (response) { alert("请求微信二维码失败!"); } }); $(".hiddenfield").hide(); $(".workweixinlogin").hide(); $(".weixinlogin").show(); $(".loginBtn").hide(); $(".errormessage").text(""); $("#login-btn button[type=submit]").hide(); $(".login-select li").hide(); $(".login-select li.phone-registered").show(); $(".login-select li.password-registered").show(); $(".login-select li.workweixin-registered").show(); $(".login-select li.weixin-registered").hide(); } function showWorkWeixinRegistered() { $.ajax({ url: '/Ajax/AjaxPartial', type: 'post', data: { partialViewName: "企业微信二维码", parameters: "{siteId:" + $("#logincurrentsiteId").val() + "}" }, success: function (response) { $(".workweixinlogin").html(response.html); var appid = $("#workweixinappid").val(), agentid = $("#workweixinagentid").val(), encodeUrl = urlEncode($("#workweixinredirecturi").val()), state = $("#workweixinstate").val(); window.WwLogin({ id: 'workweixin_container', appid: appid, agentid: agentid, redirect_uri: encodeUrl, state: state, href: "" }); }, error: function (response) { alert("请求企业微信二维码失败!"); } }); $(".hiddenfield").hide(); $(".weixinlogin").hide(); $(".workweixinlogin").show(); $(".loginBtn").hide(); $(".errormessage").text(""); $("#login-btn button[type=submit]").hide(); $(".login-select li").hide(); $(".login-select li.phone-registered").show(); $(".login-select li.password-registered").show(); $(".login-select li.weixin-registered").show(); $(".login-select li.workweixin-registered").hide(); } function urlEncode(str) { str = (str + '').toString(); return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28') .replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+'); } var mainsetInterval; function refreshloginstate() { if ($('.userlogininfo').length > 0) { var siteurl = $("#currentsiteinfo").data("siteajaxrequestprefix"); $.ajax({ url: siteurl + 'Ajax/AjaxPartial', type: 'post', data: { partialViewName: "用户登录页-用户信息", parameters: "{}", }, success: function (response) { $(".userlogininfo").html(response.html); showValidateCode(false, false); if ($('.notlogged').length > 0) { clearInterval(mainsetInterval); $('.userOtherInfo').hide(); } else { mainsetInterval = setInterval(function () { ShowSigninArticleNum(); HasUnreadMessage(); }, 60000); $('.userOtherInfo').show(); } } }); } } function validcodeSucessed(e) { var validcode = $(e).parent().prev().find(".enabledvalidcode"); if (validcode) { var val = validcode.css('display'); if (val == 'block') { var tVal = $(e).parent().prev().find("#js-ticket-login").first().val(); if (!tVal) { return false; } } } return true; }; var userlogin = $(".userlogincomment"); if (userlogin.length > 0) { refreshloginstate(); } $("#UserName,#Password").on('click', function (event) { if ($(".errormessage").text().indexOf("密码不正确") != -1) { $(".errormessage").text(""); } }); //关闭登录窗口 $(".closecomment").on("click", function () { $("[data-userlogin=userLoginDialog]").css("display", "none"); $("[data-userlogindialog=userLoginDialog]").css("display", "none"); }); //登录 $("[data-userlogindialog=userLoginDialog] .login").click(function () { var userInfo = {}; var getSessionUrl = $(".getSession").val(); // 获取编码后的用户名密码和验证码。 $.ajaxPreventCSRF({ type: 'post', url: getSessionUrl, async: false, success: function (data) { userInfo.username = data.username; userInfo.password = data.password; //userInfo.validatecode = data.validatecode; userInfo.phonemessagevalidatecode = data.phonemessagevalidatecode; userInfo.phonenumber = data.phonenumber; userInfo.ticket = data.captchaticket; userInfo.ticketid = data.captchaticketid; userInfo.identitynumber = data.identitynumber; $.refreshCsrf(); } }); //var code = $(".userloginmodal input[name='ValidateCode']"); //if ($(".enabledvalidcode").css("display") == "none") { // code.attr("disabled", "disabled"); //} else { // code.removeAttr("disabled"); //} $(".errormessage").text(""); if (!$("#validateForm").valid()) { if (!validcodeSucessed(this)) { // $(".errormessage").text("请点击验证!"); } } else { if (!validcodeSucessed(this)) { // $(".errormessage").text("请点击验证!"); } } $(".loginBtn").text("登录中…").attr("disabled", "disabled").addClass("disabled"); var validateCode = $(this).parent().prev().find("input[name=ValidateCode]").first().val(); var userName = $(this).parent().prev().find("input[name=UserName]").first().val(); var password = $(this).parent().prev().find("input[name=Password]").first().val(); var cookieValidity = $(this).parent().nextAll('.loginCookie').find('select[name="cookie-validity"]').first().val(); var phonemessagevalidatecode = $(this).parent().prev().find("input[name=PhoneMessageValidateCode]").first().val(); var phonenumber = $(this).parent().prev().find("input[name=PhoneNumber]").first().val(); var identitynumber = $(this).parent().prev().find("input[name=IdentityNumber]").first().val(); var loginWayType = $(this).parent().prev().find("input[name=LoginWayType]").first().val(); var loginUrl = $("#loginUrl").val(); if (loginWayType == "PhoneLogin") { loginUrl = $("#loginPhoneUrl").val(); } var ticket = $(this).parent().prev().find("#js-ticket-login").first().val(); var ticketId = $(this).parent().prev().find("#js-ticketId-login").first().val(); if ($(".enabledvalidcode").css("display") == "block") { if (!ticket || !ticketId) { $('#captchaticketvalid-login')[0].className = "field-validation-error"; $(".loginBtn").text("登录").removeAttr("disabled").removeClass("disabled"); if (userName && password) { SimCaptcha.SetSuccessCallBack('js-btn-verify-login', function () { $('.loginBtn').click(); }); $('#js-btn-verify-login').attr('captcha-after', 'js-btn-verify-login') $('#js-btn-verify-login').click(); } return false; } else { $('#captchaticketvalid-login')[0].className = "field-validation-valid"; } } if (!GetRsaEncrypt()) { alert("提交信息不完整,请刷新页面后重新提交。"); return false; } userName = rsaEncrypt(userName); password = rsaEncrypt(password); phonemessagevalidatecode = rsaEncrypt(phonemessagevalidatecode); identitynumber = rsaEncrypt(identitynumber); validateCode = rsaEncrypt(validateCode); phonenumber = rsaEncrypt(phonenumber); var data = {}; data[userInfo.username] = userName; data[userInfo.password] = password; data[userInfo.validatecode] = validateCode; data[userInfo.phonenumber] = phonenumber; data[userInfo.identitynumber] = identitynumber; data[userInfo.phonemessagevalidatecode] = phonemessagevalidatecode; data["LoginWayType"] = loginWayType; data["CookieValidity"] = cookieValidity; data[userInfo.ticket] = rsaEncrypt(ticket); data[userInfo.ticketid] = rsaEncrypt(ticketId); var siteUrl = $("input[name=siteUrl]").val(); $.ajaxPreventCSRF({ type: 'post', url: loginUrl, data: data, async: false, success: function (value) { $(".loginBtn").text("登录").removeAttr("disabled").removeClass("disabled"); if (value.status === 0) { $("[data-userlogin=userLoginDialog]").css("display", "none"); $("[data-userlogindialog=userLoginDialog]").css("display", "none"); Cookies.remove("Power::Article::SigninArticleTime");//清除前一个用户的签收数 Cookies.remove("Power:: Article:: SigninArticle");//清除前一个用户的签收数 refreshloginstate(); if (!value.isstrongpassword) { if (siteUrl && siteUrl.length > 1 && siteUrl[siteUrl.length - 1] != '/') { siteUrl += '/'; } window.location.href = siteUrl + "user"; return false; } } if (loginWayType == "PhoneLogin") { $("#PhoneMessageValidateCode-error").remove(); window.clearInterval(window.timerObj); // 停止计时器 $("#PhoneMessageValidateCode_btn").removeAttr('disabled').val('获取验证码'); // 启用按钮 } if (value.status != 0) { if (value.status == -10) { SimCaptcha.SetSuccessCallBack('js-btn-verify-login', function () { $('.loginBtn').click(); }); $('#js-btn-verify-login').attr('captcha-after', 'js-btn-verify-login') $('#js-btn-verify-login').click(); } else { $(".errormessage").text(value.message); } } else { var refreshPage = $("input[name=RefreshPage]"); if (refreshPage.length > 0) { location.reload(); } } $.refreshCsrf(); showValidateCode(value.valcodevisible, true); } }); }); //退出 $(".userlogininfo").on('click', '.exitlogin', function () { var url = $(".logurls").val(); $.postPreventCSRF(url, {}, function (data) { refreshloginstate(); $.refreshCsrf(); }); }); function showValidateCode(valcodevisible, isRefresh) { if (!valcodevisible) { $(".enabledvalidcode").css("display", "none"); $(".enabledvalidcode input[name='ValidateCode']").attr("disabled", "disabled"); } else { $(".enabledvalidcode").css("display", "block"); $(".enabledvalidcode input[name='ValidateCode']").removeAttr("disabled"); if (isRefresh) { refreshValidateCode(); } } } var mathRandom = ""; //刷新验证码 function refreshValidateCode() { panelCaptchaCallback(); } function ShowSigninArticleNum() { if (document.hidden || window.hidden) { return; } var signUrl = $('#signinArticleNumUrl').length; if (signUrl > 0) { var url = $('#signinArticleNumUrl').val(); $.get(url, function (data) { if (parseInt(data) > 0) { var enableSignin = $("#enableSignin").val(); if (enableSignin == "True") { var value = '您有' + data + '篇文章待签收'; $(".signinSum").attr("title", value); $(".signinSum").addClass("hasMsg"); } } else { if (parseInt(data) == -1) { refreshloginstate(); } $(".signinSum").attr("title", "我的签收信息"); $(".signinSum").removeClass("hasMsg"); } }); } } panelCaptchaCallback(); }); function HasUnreadMessage() { if (document.hidden || window.hidden) { return; } var unReadMessageUrl = $('#getUnReadMessageUrl').length; if (unReadMessageUrl > 0) { var url = $("#getUnReadMessageUrl").val(); $.get(url, function (data) { if (data.HasUnreadMessage) { var value = '您有未读消息'; $(".myMsg").attr("title", value); $(".myMsg").addClass("hasMsg"); } else { $(".myMsg").attr("title", "我的短消息"); $(".myMsg").removeClass("hasMsg"); } }) } } // 密码输完回车直接触发提交事件。 $('#Password') .bind('input propertychange keyup', function (event) { if (event.keyCode == 13) { $(".loginBtn").click(); return; } }); // 验证码弹出框。 function panelCaptchaCallback() { if (document.getElementById("js-btn-verify-login") == null) { return; } $("#js-btn-verify-login").val("点击验证"); $("#js-ticket-login").val(null); $("#js-ticketId-login").val(null); if ($("#js-btn-verify-login")[0]) { $("#js-btn-verify-login")[0].className = "btn btn-default"; } // 点击验证 window.loginSimCaptcha = new SimCaptcha({ element: document.getElementById("js-btn-verify-login"), appId: "00000000", callback: function (res) { // 点触验证码 if (res.code === 0) { $("#js-btn-verify-login").val("验证通过"); $("#js-btn-verify-login")[0].className = "btn btn-success"; $("#js-btn-verify-login").prop("onclick", null); $("#js-ticket-login").val(res.ticket); $("#js-ticketId-login").val(res.ticketId); if ($('#captchaticketvalid-login')[0]) { $('#captchaticketvalid-login')[0].className = "field-validation-valid"; var childNodes = $('#captchaticketvalid-login')[0].childNodes; for (var index = 0; index < childNodes.length; index++) { childNodes[index].remove(); } } $(".errormessage").text("") } }, baseUrl: "/" }); }