...
|
...
|
@@ -25,7 +25,7 @@ var $phoneNumInput = $('#account'), |
|
|
var $loginTip = $loginBtn.siblings('.login-fail-tip'),
|
|
|
ep = new EventProxy();
|
|
|
|
|
|
var mailPhoneRegx = require('../common/mail-phone-regx');
|
|
|
// var mailPhoneRegx = require('../common/mail-phone-regx');
|
|
|
var mailAc = require('../common/ac-email'); // 邮箱自动完成
|
|
|
var $remember = $('.remember-me');
|
|
|
var captchaUrl = '/passport/images?t='; // /passport/images?t=1454464125
|
...
|
...
|
@@ -53,7 +53,8 @@ var secondCount = 60; |
|
|
// 短信验证码只能验证一次
|
|
|
var isSmsCheckedSuccessFlag = false;
|
|
|
var currLoginType = 'PasswordLogin';
|
|
|
var userIsRight = false;
|
|
|
|
|
|
// var userIsRight = false;
|
|
|
var smsIsRight = false;
|
|
|
|
|
|
require('yoho-jquery-placeholder');
|
...
|
...
|
@@ -86,94 +87,94 @@ function getMoblie() { |
|
|
}
|
|
|
|
|
|
// 验证账户名
|
|
|
function validateAccountLocal() {
|
|
|
var phoneNum = getMoblie(),
|
|
|
regionCode = $regionCodeText.text();
|
|
|
|
|
|
if (phoneNum !== '') {
|
|
|
if (/^[0-9]+$/.test(phoneNum)) {
|
|
|
|
|
|
// 这里只做中国区验证
|
|
|
if (regionCode === '+86') {
|
|
|
if (phoneNum.length === 11 && mailPhoneRegx.phoneRegx['+86'].test(phoneNum)) {
|
|
|
return true;
|
|
|
} else {
|
|
|
errTip($phoneNumInput, '手机号码不正确,请重新输入');
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
} else {
|
|
|
|
|
|
// 邮箱验证
|
|
|
if (mailPhoneRegx.emailRegx.test(phoneNum)) {
|
|
|
return true;
|
|
|
} else {
|
|
|
errTip($phoneNumInput, '邮箱格式不正确,请重新输入');
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
errTip($phoneNumInput, '请输入账号');
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
// function validateAccountLocal() {
|
|
|
// var phoneNum = getMoblie(),
|
|
|
// regionCode = $regionCodeText.text();
|
|
|
|
|
|
// if (phoneNum !== '') {
|
|
|
// if (/^[0-9]+$/.test(phoneNum)) {
|
|
|
|
|
|
// // 这里只做中国区验证
|
|
|
// if (regionCode === '+86') {
|
|
|
// if (phoneNum.length === 11 && mailPhoneRegx.phoneRegx['+86'].test(phoneNum)) {
|
|
|
// return true;
|
|
|
// } else {
|
|
|
// errTip($phoneNumInput, '手机号码不正确,请重新输入');
|
|
|
// return false;
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
// return true;
|
|
|
// } else {
|
|
|
|
|
|
// // 邮箱验证
|
|
|
// if (mailPhoneRegx.emailRegx.test(phoneNum)) {
|
|
|
// return true;
|
|
|
// } else {
|
|
|
// errTip($phoneNumInput, '邮箱格式不正确,请重新输入');
|
|
|
// return false;
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
// } else {
|
|
|
// errTip($phoneNumInput, '请输入账号');
|
|
|
// return false;
|
|
|
// }
|
|
|
// }
|
|
|
|
|
|
// 异步验证帐号是否存在
|
|
|
function validateAccountAsync(url) {
|
|
|
return $.ajax({
|
|
|
type: 'POST',
|
|
|
url: url,
|
|
|
data: {
|
|
|
phoneNum: getMoblie(),
|
|
|
area: getArea()
|
|
|
}
|
|
|
}).then(function(data) {
|
|
|
if (data.code && data.code === 200) {
|
|
|
return true;
|
|
|
} else {
|
|
|
errTip($phoneNumInput, data.message);
|
|
|
return false;
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
// function validateAccountAsync(url) {
|
|
|
// return $.ajax({
|
|
|
// type: 'POST',
|
|
|
// url: url,
|
|
|
// data: {
|
|
|
// phoneNum: getMoblie(),
|
|
|
// area: getArea()
|
|
|
// }
|
|
|
// }).then(function(data) {
|
|
|
// if (data.code && data.code === 200) {
|
|
|
// return true;
|
|
|
// } else {
|
|
|
// errTip($phoneNumInput, data.message);
|
|
|
// return false;
|
|
|
// }
|
|
|
// });
|
|
|
// }
|
|
|
|
|
|
// 整合本地和异步验证信息
|
|
|
function validateAccount() {
|
|
|
if (userIsRight) {
|
|
|
// if (userIsRight) {
|
|
|
return $.Deferred().resolve(true).promise(); // eslint-disable-line
|
|
|
}
|
|
|
|
|
|
return (function() {
|
|
|
var defer = $.Deferred(); // eslint-disable-line
|
|
|
var url = '/passport/login/user';
|
|
|
|
|
|
if (currLoginType === 'SMSLogin') {
|
|
|
url = '/passport/login/sms/checkuser';
|
|
|
}
|
|
|
|
|
|
if (validateAccountLocal()) {
|
|
|
validateAccountAsync(url).then(function(result) {
|
|
|
if (result) {
|
|
|
defer.resolve(result);
|
|
|
} else {
|
|
|
defer.reject(result);
|
|
|
}
|
|
|
});
|
|
|
} else {
|
|
|
defer.reject(false);
|
|
|
}
|
|
|
|
|
|
return defer.promise();
|
|
|
}()).then(function() {
|
|
|
hideTip($phoneNumInput);
|
|
|
ep.emit('phone', true);
|
|
|
userIsRight = true;
|
|
|
}).fail(function() {
|
|
|
ep.emit('phone', false);
|
|
|
});
|
|
|
// }
|
|
|
|
|
|
// return (function() {
|
|
|
// var defer = $.Deferred(); // eslint-disable-line
|
|
|
// var url = '/passport/login/user';
|
|
|
|
|
|
// if (currLoginType === 'SMSLogin') {
|
|
|
// url = '/passport/login/sms/checkuser';
|
|
|
// }
|
|
|
|
|
|
// if (validateAccountLocal()) {
|
|
|
// validateAccountAsync(url).then(function(result) {
|
|
|
// if (result) {
|
|
|
// defer.resolve(result);
|
|
|
// } else {
|
|
|
// defer.reject(result);
|
|
|
// }
|
|
|
// });
|
|
|
// } else {
|
|
|
// defer.reject(false);
|
|
|
// }
|
|
|
|
|
|
// return defer.promise();
|
|
|
// }()).then(function() {
|
|
|
// hideTip($phoneNumInput);
|
|
|
// ep.emit('phone', true);
|
|
|
// userIsRight = true;
|
|
|
// }).fail(function() {
|
|
|
// ep.emit('phone', false);
|
|
|
// });
|
|
|
}
|
|
|
|
|
|
// 验证密码
|
...
|
...
|
@@ -282,65 +283,65 @@ function showAccountErrTimes() { |
|
|
}
|
|
|
|
|
|
// 登录次数限制接口
|
|
|
function throttle() {
|
|
|
return $.ajax({
|
|
|
url: '/passport/login/account',
|
|
|
type: 'GET',
|
|
|
data: {
|
|
|
account: getMoblie()
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
// function throttle() {
|
|
|
// return $.ajax({
|
|
|
// url: '/passport/login/account',
|
|
|
// type: 'GET',
|
|
|
// data: {
|
|
|
// account: getMoblie()
|
|
|
// }
|
|
|
// });
|
|
|
// }
|
|
|
|
|
|
// 验证帐号系统
|
|
|
function validate() {
|
|
|
if (userIsRight) {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
return validateAccount().then(function(result) {
|
|
|
if (result) {
|
|
|
return throttle();
|
|
|
} else {
|
|
|
return false;
|
|
|
}
|
|
|
}).then(function(res) {
|
|
|
var defer = $.Deferred(); // eslint-disable-line
|
|
|
|
|
|
if (!res) {
|
|
|
defer.reject(false);
|
|
|
}
|
|
|
|
|
|
if (res.data && res.data.needCaptcha) {
|
|
|
showAccountErrTimes();
|
|
|
defer.reject(false);
|
|
|
}
|
|
|
|
|
|
defer.resolve(true);
|
|
|
|
|
|
return defer.promise();
|
|
|
});
|
|
|
}
|
|
|
// function validate() {
|
|
|
// if (userIsRight) {
|
|
|
// return true;
|
|
|
// }
|
|
|
|
|
|
// return validateAccount().then(function(result) {
|
|
|
// if (result) {
|
|
|
// return throttle();
|
|
|
// } else {
|
|
|
// return false;
|
|
|
// }
|
|
|
// }).then(function(res) {
|
|
|
// var defer = $.Deferred(); // eslint-disable-line
|
|
|
|
|
|
// if (!res) {
|
|
|
// defer.reject(false);
|
|
|
// }
|
|
|
|
|
|
// if (res.data && res.data.needCaptcha) {
|
|
|
// showAccountErrTimes();
|
|
|
// defer.reject(false);
|
|
|
// }
|
|
|
|
|
|
// defer.resolve(true);
|
|
|
|
|
|
// return defer.promise();
|
|
|
// });
|
|
|
// }
|
|
|
|
|
|
// 邮箱自动补全
|
|
|
mailAc($phoneNumInput, function() {
|
|
|
});
|
|
|
|
|
|
// 手机号码输入框失去焦点事件
|
|
|
function phoneBlur() {
|
|
|
$phone.removeClass('focus');
|
|
|
validate();
|
|
|
}
|
|
|
// function phoneBlur() {
|
|
|
// $phone.removeClass('focus');
|
|
|
// validate();
|
|
|
// }
|
|
|
|
|
|
$phoneNumInput.on('focus', function() {
|
|
|
hideTip($phoneNumInput);
|
|
|
$phone.addClass('focus');
|
|
|
$(this).off('blur').on('blur', phoneBlur);
|
|
|
});
|
|
|
// $phoneNumInput.on('focus', function() {
|
|
|
// hideTip($phoneNumInput);
|
|
|
// $phone.addClass('focus');
|
|
|
// $(this).off('blur').on('blur', phoneBlur);
|
|
|
// });
|
|
|
|
|
|
$phoneNumInput.on('input', function() {
|
|
|
userIsRight = false;
|
|
|
});
|
|
|
// $phoneNumInput.on('input', function() {
|
|
|
// userIsRight = false;
|
|
|
// });
|
|
|
|
|
|
$('[placeholder]').placeholder();
|
|
|
|
...
|
...
|
@@ -508,7 +509,7 @@ function sendCaptchaSmsAsync() { |
|
|
verifyCode: $.trim($imgCaptchaInput.val())
|
|
|
}
|
|
|
}).then(function(data) {
|
|
|
if (data.captchaCount === false) {
|
|
|
if (data.captchaCount === false || data.code === 400) {
|
|
|
errTip($imgCaptchaInput, data.message);
|
|
|
ep.emit('captcha', false);
|
|
|
refreshCaptcha();
|
...
|
...
|
|