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()
             }