Authored by 陈轩

短信登陆 图片验证码逻辑优化

@@ -121,23 +121,25 @@ exports.tokenBefore = (req, res, next) => { @@ -121,23 +121,25 @@ exports.tokenBefore = (req, res, next) => {
121 let step = _.get(req.session, 'smsLogin.step'); 121 let step = _.get(req.session, 'smsLogin.step');
122 let count = _.get(req.session, 'smsLogin.count'); 122 let count = _.get(req.session, 'smsLogin.count');
123 let interval = _.get(req.session, 'smsLogin.interval'); 123 let interval = _.get(req.session, 'smsLogin.interval');
  124 + let captcha1 = _.get(req.session, 'smsLogin.captcha');
  125 + let captcha2 = (req.query.captcha || '').trim();
124 126
125 - if (!req.xhr && !req.session.smsLogin) { 127 +
  128 + if (!req.xhr && !captcha1) {
126 return next(404); 129 return next(404);
127 } 130 }
128 131
129 - if ([area, mobile].some(val => val === '')) { 132 + if ([area, mobile, captcha2].some(val => val === '')) {
130 return res.json({ 133 return res.json({
131 code: 401, 134 code: 401,
132 message: '请求参数,无法处理' 135 message: '请求参数,无法处理'
133 }); 136 });
134 } 137 }
135 138
  139 + delete req.session.smsLogin.captcha; // 图形验证码 一次性
  140 +
136 // step1 要 校验图形验证码 141 // step1 要 校验图形验证码
137 if (step === 1) { 142 if (step === 1) {
138 - let captcha1 = _.get(req.session, 'smsLogin.captcha');  
139 - let captcha2 = (req.query.captcha || '').trim();  
140 -  
141 if (captcha1 !== captcha2) { 143 if (captcha1 !== captcha2) {
142 return res.json({ 144 return res.json({
143 code: 400, 145 code: 400,