$(function() {
validateKickout();
validateRule();
registerValidateRule();
phoneNumberValidateRule();
$('.imgcode').click(function() {
var url = ctx + "captcha/captchaImage?type=" + captchaType + "&s=" + Math.random();
$(".imgcode").attr("src", url);
});
});
$.validator.setDefaults({
submitHandler: function(from) {
console.log(from.id)
if("registerForm"==from.id){
register();
}else if("signupForm"==from.id){
login();
}else {
messageLogin();
}
}
});
function login() {
$.modal.loading($("#btnSubmit").data("loading"));
var username = $.common.trim($("input[name='username']").val());
var password = $.common.trim($("input[name='password']").val());
var validateCode = $("input[name='validateCode']").val();
var rememberMe = $("input[name='rememberme']").is(':checked');
$.ajax({
type: "post",
url: ctx + "login",
data: {
"username": username,
"password": password,
"validateCode": validateCode,
"rememberMe": rememberMe
},
success: function(r) {
if (r.code == web_status.SUCCESS) {
location.href = ctx + 'dzhwk/index';
} else {
$('.imgcode').click();
$(".code").val("");
$.modal.msg(r.msg);
}
$.modal.closeLoading();
}
});
}
function register() {
$.modal.loading($("#btnSubmitRegister").data("loading"));
var username = $.common.trim($("input[name='registerUsername']").val());
var password = $.common.trim($("input[name='registerPassword']").val());
var validateCode = $("input[name='registerValidateCode']").val();
$.ajax({
type: "post",
url: ctx + "register",
data: {
"loginName": username,
"password": password,
"validateCode": validateCode
},
success: function(r) {
if (r.code == web_status.SUCCESS) {
layer.alert("恭喜你,您的账号 " + username + " 注册成功!", {
icon: 1,
title: "系统提示"
},
function(index) {
//关闭弹窗
layer.close(index);
location.href = ctx + 'login';
});
} else {
$.modal.closeLoading();
$('.imgcode').click();
$(".code").val("");
$.modal.msg(r.msg);
}
}
});
}
function messageLogin() {
$.modal.loading($("#btnMessageLogin").data("loading"));
var phoneNumber = $.common.trim($("input[name='phoneNumber']").val());
var validateCode = $("input[name='phoneNumberValidateCode']").val();
$.ajax({
type: "post",
url: ctx + "messageLogin",
data: {
"phoneNumber": phoneNumber,
"validateCode": validateCode
},
success: function(r) {
if (r.code == web_status.SUCCESS) {
console.log(ctx + 'index');
location.href = ctx + 'index';
} else {
$.modal.msg(r.msg);
}
$.modal.closeLoading();
}
})
}
function validateRule() {
var icon = " ";
$("#signupForm").validate({
rules: {
username: {
required: true
},
password: {
required: true
}
},
messages: {
username: {
required: icon + "请输入您的用户名",
},
password: {
required: icon + "请输入您的密码",
}
}
})
}
function validateKickout() {
if (getParam("kickout") == 1) {
layer.alert("您已在别处登录,请您修改密码或重新登录", {
icon: 0,
title: "系统提示"
},
function(index) {
//关闭弹窗
layer.close(index);
if (top != self) {
top.location = self.location;
} else {
var url = location.search;
if (url) {
var oldUrl = window.location.href;
var newUrl = oldUrl.substring(0, oldUrl.indexOf('?'));
self.location = newUrl;
}
}
});
}
}
function registerValidateRule() {
var icon = " ";
$("#registerForm").validate({
rules: {
registerUsername: {
required: true,
minlength: 2
},
registerPassword: {
required: true,
minlength: 5
},
confirmRegisterPassword: {
required: true,
equalTo: "[name='registerPassword']"
}
},
messages: {
registerUsername: {
required: icon + "请输入您的用户名",
minlength: icon + "用户名不能小于2个字符"
},
registerPassword: {
required: icon + "请输入您的密码",
minlength: icon + "密码不能小于5个字符",
},
confirmRegisterPassword: {
required: icon + "请再次输入您的密码",
equalTo: icon + "两次密码输入不一致"
}
}
})
}
function phoneNumberValidateRule() {
var icon = " ";
$("#messageLoginForm").validate({
rules: {
phoneNumber: {
required: true,
minlength: 11,
maxlength: 11,
isPhoneNum:true
},
phoneNumberValidateCode: {
required: true,
minlength: 6,
maxlength: 6
}
},
messages: {
phoneNumber: {
required: icon + "请输入您的手机号",
minlength: icon + "手机号不能小于11个字符",
maxlength: icon + "手机号最大11个字符",
isPhoneNum:icon+"请正确填写您的手机号码"
},
phoneNumberValidateCode: {
required: icon + "请输入您的验证码",
minlength: icon + "验证码最小为6位号码",
maxlength: icon + "验证码最大6位号码"
}
}
})
}
function getParam(paramName) {
var reg = new RegExp("(^|&)" + paramName + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if (r != null) return decodeURI(r[2]);
return null;
}
//自定义手机号验证
jQuery.validator.addMethod("isPhoneNum", function(value, element) {
var length = value.length;
var mobile =/^1[34578]\d{9}$/;
return this.optional(element) || (length == 11 && mobile.test(value));
}, "请正确填写您的手机号码");
var duration = 60; //60秒
// 获取验证码按钮点击事件
function sendMsgCode() {
$("#secondShow").css('display', 'block');
$("#sendMessageCode").css('display', 'none');
$("#secondShow").html('重新发送(' + duration + 's)');
var timer = setInterval(function () {
if (duration == 0) {
clearInterval(timer);
$("#secondShow").css('display', 'none');
$("#sendMessageCode").css('display', 'block');
duration = 60;
}
$("#secondShow").html('重新发送(' + (duration - 1) + 's)');
duration--;
}, 1000);
//TODO
//发短信业务
var phoneNumber = $.common.trim($("input[name='phoneNumber']").val());
$.ajax({
type: "GET",
url: ctx + "login/sendMessageCode",
data: {
phoneNumber: phoneNumber
},
success: function (r) {
if (r.code == web_status.SUCCESS) {
layer.alert("恭喜你,您的验证码发送成功!", {
icon: 1,
title: "系统提示"
},
function(index) {
//关闭弹窗
layer.close(index);
}
)
} else {
// 显示错误信息
layer.alert(r.msg || "发送验证码失败", {
icon: 2,
title: "系统提示"
});
}
}
})
};