...
|
...
|
@@ -4,7 +4,7 @@ |
|
|
* @date: 2015/9/30
|
|
|
*/
|
|
|
var $ = require('yoho-jquery');
|
|
|
var SlideUnlock = require('plugin/slideunlock');
|
|
|
var ImgCheck = require('plugin/img-check');
|
|
|
|
|
|
var $account = $('#account'),
|
|
|
$pwd = $('#pwd'),
|
...
|
...
|
@@ -13,7 +13,7 @@ var $account = $('#account'), |
|
|
$mask = $('#retrive-pwd-mask'),
|
|
|
$ways = $('#retrive-pwd-ways'),
|
|
|
|
|
|
slideUnlock,
|
|
|
$captcha = $('#js-img-check'),
|
|
|
|
|
|
accPass = false,
|
|
|
pwdPass = false;
|
...
|
...
|
@@ -24,6 +24,18 @@ var tip = require('../../plugin/tip'); |
|
|
var trim = $.trim;
|
|
|
var showErrTip = tip.show;
|
|
|
|
|
|
|
|
|
var imgCheck = new ImgCheck($captcha, {
|
|
|
useREM: {
|
|
|
rootFontSize: 40,
|
|
|
picWidth: 150
|
|
|
}
|
|
|
});
|
|
|
|
|
|
if ($captcha.data('init') != null) { //eslint-disable-line
|
|
|
imgCheck.init();
|
|
|
}
|
|
|
|
|
|
// 登录按钮状态切换
|
|
|
function switchLoginBtnStatus() {
|
|
|
var bool = true;
|
...
|
...
|
@@ -80,23 +92,38 @@ $pwd.bind('input', function() { |
|
|
// Login
|
|
|
$loginBtn.on('touchstart', function() {
|
|
|
var acc = trim($account.val()),
|
|
|
pwd = trim($pwd.val());
|
|
|
pwd = trim($pwd.val()),
|
|
|
captcha = null;
|
|
|
|
|
|
if ($loginBtn.hasClass('disable')) {
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
if (imgCheck.atWorking) {
|
|
|
captcha = imgCheck.getResults();
|
|
|
|
|
|
if (captcha === '0000') {
|
|
|
return tip.show(' 请将图片旋转到正确方向');
|
|
|
}
|
|
|
}
|
|
|
|
|
|
$loginBtn.text('正在登录...').addClass('disable');
|
|
|
|
|
|
// 验证账号(数字或者邮箱)和密码合理性
|
|
|
if ((/^[0-9]+$/.test(acc) || api.emailRegx.test(acc)) && api.pwdValidate(pwd)) {
|
|
|
let data = {
|
|
|
account: acc,
|
|
|
password: pwd
|
|
|
};
|
|
|
|
|
|
if (imgCheck.atWorking) {
|
|
|
$.extend(data, {captcha});
|
|
|
}
|
|
|
|
|
|
$.ajax({
|
|
|
type: 'POST',
|
|
|
url: '/passport/login/auth',
|
|
|
data: {
|
|
|
account: acc,
|
|
|
password: pwd
|
|
|
},
|
|
|
data,
|
|
|
success: function(data) {
|
|
|
var res;
|
|
|
|
...
|
...
|
@@ -107,21 +134,23 @@ $loginBtn.on('touchstart', function() { |
|
|
location.href = res.href;
|
|
|
$loginBtn.text('登录成功').off();
|
|
|
} else {
|
|
|
if (!slideUnlock && data.slideUnlock) {
|
|
|
slideUnlock = new SlideUnlock('#js-slideunlock', {}, switchLoginBtnStatus);
|
|
|
slideUnlock.init();
|
|
|
} else {
|
|
|
slideUnlock && slideUnlock.reset();
|
|
|
if (data.captchaShow) {
|
|
|
imgCheck.atWorking ? imgCheck.refresh() : imgCheck.init();
|
|
|
}
|
|
|
|
|
|
showErrTip(data.message);
|
|
|
resetForm();
|
|
|
}
|
|
|
|
|
|
return data;
|
|
|
},
|
|
|
error: function() {
|
|
|
showErrTip('网络断开连接啦~');
|
|
|
slideUnlock && slideUnlock.reset();
|
|
|
$loginBtn.text('登录');
|
|
|
|
|
|
imgCheck.atWorking && imgCheck.refresh();
|
|
|
},
|
|
|
complete: function() {
|
|
|
$loginBtn.text('登录').removeClass('disable');
|
|
|
}
|
|
|
});
|
|
|
} else {
|
...
|
...
|
|