Authored by 郝肖肖

找回密码,发送短信,加图形验证码

... ... @@ -159,7 +159,7 @@ router.get('/passport/back/verification',
back.verifyCodeByMobilePage);
// 重新发送短信接口
router.post('/passport/back/sendBackMobile', back.validateMobileAPI, back.sendBackMobileAPI);
router.post('/passport/back/sendBackMobile', captcha.requiredAPI, back.validateMobileAPI, back.sendBackMobileAPI);
// 验证手机验证码接口
router.post('/passport/back/backMobile', back.verifyCodeByMobileAPI);
... ...
... ... @@ -10,15 +10,16 @@
<span class="country-code">+{{area}}</span>
<span class="phone-num">{{mobile}}</span>
</li>
<li id='captcha-img' class="captcha-tool">
<li class="po-re">
<input id="captcha" class="input va captcha" type="text" name="code" maxlength="4">
<input class="input hide" type="text">
<input id="send-captcha" class="btn send-captcha" type="button" value="发送验证码" disabled="">
<div id="captcha-tip" class="captcha-tips"><i class="iconfont">&#xe61f;</i>验证码已发送至您的手机,请查收</div>
<span id="err-tip" class="err-tip hide">
<i></i>
<em>请输入验证码</em>
</span>
<span id="err-tip" class="err-tip hide">
<i></i>
<em>请输入验证码</em>
</span>
</li>
<li>
<input name="area" id="area" type="hidden" value="{{area}}">
... ... @@ -26,7 +27,6 @@
<input name="verifyCode" id="captchaPic" type="hidden" value="{{verifyCode}}">
<input name="refer" id="refer" type="hidden" value="">
<a id="next-step" class="btn next-step disable" href="javascript:;">下一步</a>
<!-- <input id="next-step" class="btn next-step disable" type="submit" value="下一步" disabled=""> -->
</li>
</ul>
</form>
... ...
... ... @@ -5,30 +5,34 @@
*/
var $ = require('yoho-jquery');
var Captcha = require('../../plugins/captcha');
var $sc = $('#send-captcha'),
$msgTip = $('#captcha-tip'),
$errTip = $('#err-tip'),
$next = $('#next-step'),
seconds,
itime;
itime,
captcha = new Captcha('#captcha-img').init();
require('../../simple-header');
$sc.click(function() {
captcha.hideTip();
$.post('/passport/back/sendbackmobile', {
mobile: $('#mobile').val(),
area: $('#area').val(),
verifyCode: $('#captchaPic').val()
verifyCode: captcha.getResults()
}, function(jsonData) {
if (jsonData.code === 200) {
$errTip.hide();
if ($(this).hasClass('disable')) {
return;
}
seconds = 60;
// $sc.addClass('disable').prop('disabled', true);
seconds = 60;
$sc.addClass('disable').attr('disabled', true);
$msgTip.removeClass('hide');
... ... @@ -36,14 +40,14 @@ $sc.click(function() {
itime = setInterval(function() {
if (seconds === 0) {
clearInterval(itime);
// $sc.val('发送验证码').removeClass('disable').prop('disabled', false);
$sc.val('发送验证码').removeClass('disable').removeAttr('disabled');
} else {
$sc.val(seconds-- + '秒后可重新操作');
}
}, 1000);
} else if (jsonData.code === 405) {
// 验证码 error
captcha.showTip(jsonData.message);
} else {
$(this).addClass('error');
$errTip.removeClass('hide').text('发送失败');
... ... @@ -52,8 +56,6 @@ $sc.click(function() {
});
seconds = 60;
// $sc.addClass('disable').prop('disabled', true);
$sc.addClass('disable').attr('disabled', true);
$msgTip.removeClass('hide');
... ... @@ -61,8 +63,6 @@ $sc.val(seconds-- + '秒后可重新操作');
itime = setInterval(function() {
if (seconds === 0) {
clearInterval(itime);
// $sc.val('发送验证码').removeClass('disable').prop('disabled', false);
$sc.val('发送验证码').removeClass('disable').removeAttr('disabled');
} else {
$sc.val(seconds-- + '秒后可重新操作');
... ... @@ -81,15 +81,11 @@ $('#captcha').keyup(function() {
dataType: 'json',
data: {
code: $('#captcha').val(),
verifyCode: $('#captchaPic').val(),
area: $('#area').val(),
mobile: $('#mobile').val()
},
success: function(res) {
if (res.code === 200) {
console.log(res.data);
// 添加验证码正确验证
$next.removeClass('disable').attr('href', res.data);
$errTip.addClass('hide');
... ...
... ... @@ -202,6 +202,11 @@
font-size: 14px;
}
}
.captcha-tool {
height: 110px;
margin-bottom: 0;
}
}
.reset-success-page {
... ...