diff --git a/apps/passport/auth.js b/apps/passport/auth.js index c092451..1dc74b6 100644 --- a/apps/passport/auth.js +++ b/apps/passport/auth.js @@ -50,12 +50,6 @@ passport.use('local', new LocalStrategy({ return done({message: '登录参数错误'}, null); } - let verifyCode = req.body.captcha; - - if (verifyCode && verifyCode !== req.session.captcha) { - return done({message: '验证码不正确或验证码过期', needCaptcha: true}, null); - } - let shoppingKey = cookie.getShoppingKey(req); let account = req.body.account; diff --git a/apps/passport/router.js b/apps/passport/router.js index 98bff69..10e9c3a 100644 --- a/apps/passport/router.js +++ b/apps/passport/router.js @@ -35,7 +35,16 @@ router.post('/passport/login/qrcode/refresh', login.local.qrcode.refresh); router.post('/passport/login/qrcode/check', login.local.qrcode.check); // 验证二维码的状态 router.get('/passport/login', login.common.beforeLogin, login.local.loginPage); -router.post('/passport/login/auth', login.local.login); +router.post('/passport/login/auth', + (req, res, next) => { + if (req.body.loginType === 'password') { + return captcha.requiredAPI(req, res, next); + } else { + return next(); + } + }, + login.local.login +); router.get('/passport/logout', login.local.logout); // 微信登录 diff --git a/apps/passport/views/action/login/index.hbs b/apps/passport/views/action/login/index.hbs index aa4a5ae..f1f1208 100644 --- a/apps/passport/views/action/login/index.hbs +++ b/apps/passport/views/action/login/index.hbs @@ -55,7 +55,7 @@ </span> </li> - <li class="clearfix captcha-wrap hide"> + <li class="clearfix captcha-wrap"> </li> <li class="relative clearfix sms-login hide"> diff --git a/package.json b/package.json index db6f492..1cc2b56 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "yohobuy-node", - "version": "5.4.17", + "version": "5.4.18", "private": true, "description": "A New Yohobuy Project With Express", "repository": { diff --git a/public/js/passport/login/index.js b/public/js/passport/login/index.js index 1115f91..fdbd287 100644 --- a/public/js/passport/login/index.js +++ b/public/js/passport/login/index.js @@ -55,7 +55,7 @@ var $accountInput1 = $('#account1'), // 图像验证码 $captchaImgWrapper = $('.captcha-wrap'), captchaImg = new Captcha('.captcha-wrap').init(), - $showCaptchaImg = false, + $showCaptchaImg = true, getCaptchaImgVal = function() { return captchaImg.getResults(); }, @@ -250,6 +250,8 @@ var tpl = function(text) { ].join(''); }; +require('../../common/promise'); + // 切换登录方式 accountChangeEvent.add(function(type) { currentLogin = AccountLoginData[type]; @@ -278,7 +280,10 @@ accountChangeEvent.add(function(type) { if (type === AccountLoginData.PasswordLogin.name) { if ($showCaptchaImg) { $captchaImgWrapper.removeClass('hide'); - captchaImg.refresh(); + + $.sleep(500).then(function() { + captchaImg.refresh(); + }); } } @@ -648,7 +653,9 @@ function validateSmsCaptchaImg() { } function refreshSmsCaptchaImg() { - smsCaptchaImg.refresh(); + $.sleep(1000).then(function() { + smsCaptchaImg.refresh(); + }); } /** ************************************************************************/ @@ -848,7 +855,7 @@ function loginAsync() { areaCode: getAreaCodeVal(), account: currentLogin.getAccountVal(), password: currentLogin.creditableToken(), - captcha: currentLogin.type() === 'password' ? getCaptchaImgVal() : '', + verifyCode: currentLogin.type() === 'password' ? getCaptchaImgVal() : '', isRemember: getRememberMeVal(), loginType: currentLogin.type() }