/** * 注册/找回密码-验证码 * @author: xuqi<qi.xu@yoho.cn> * @date: 2015/10/8 */ var $ = require('jquery'); module.exports = function(useInRegister) { var $captcha = $('#captcha'), $btnNext = $('#btn-next'), $captchaTip = $('#captcha-tip'), phoneNum = $('#phone-num').val(), areaCode = $('#area-code').val().replace('+', ''); var api = require('./api'); var tip = require('../plugin/tip'); var trim = $.trim; var showErrTip = tip.show; var urlMid = useInRegister ? 'reg' : 'back'; function countDown() { var count = 59, itime; itime = setInterval(function() { if (count === 0) { $captchaTip.text('重发验证码').removeClass('disable'); clearInterval(itime); } else { $captchaTip.text('重发验证码 (' + count-- + '秒)'); } }, 1000); } api.bindClearEvt(); $captcha.bind('input', function() { if (trim($captcha.val()) !== '') { $btnNext.removeClass('disable'); } else { $btnNext.addClass('disable'); } }); //重新发送验证码 $captchaTip.on('touchstart', function() { if ($captchaTip.hasClass('disable')) { return; } $.ajax({ type: 'POST', url: '/passport/' + urlMid + '/sendcode', data: { phoneNum: phoneNum, areaCode: areaCode }, success: function(data) { if (data.code === 200) { $captchaTip.text('重发验证码 (60秒)').addClass('disable'); countDown(); } else { //验证码不正确,显示提示 showErrTip(data.message); } } }); }); $btnNext.on('touchstart', function() { if ($btnNext.hasClass('disable')) { return; } $.ajax({ type: 'POST', url: '/passport/' + urlMid + '/verifycode', data: { phoneNum: phoneNum, areaCode: areaCode, code: trim($captcha.val()), token: $('#token').val() }, success: function(data) { if (data.code === 200) { location.href = data.data; } else { //验证码不正确,显示提示 showErrTip(data.message); } } }); }); countDown(); };