采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,在注册这块,感觉源码里有好几个坑,一些小的细节坑,调试好久… 喜欢老师的课程,不过建议源码的部分还是要严谨一些哈,不然在学习过程中出错了对照源码还错就会费比较多的时间。而且如果没有调试工具进入后端进行断点调试的话就更难了 还是要再次谢谢老师!
时间写错是小问题,我感觉逻辑上也有问题,可能限于是课程,所以没做这么严格的要求。
其实后端不应该用过期时间限制用户获取验证码的,即使验证码没过期,用户也应该可以获取新的验证码,只在前端限制用户每分钟获取一次,验证码的过期时间可能是十多分钟,很少会有一分钟后过期的(短信验证码一般为5-10分钟过期,邮箱相应应该更长一些,考虑到用户需要登录邮箱等)。
只不过课程中老师设置的限制时间和过期时间都为1分钟,逻辑上可以,但是如果我把验证码过期时间设置为5分钟,前端限制发送频率为1分钟,那1分钟之后我还是无法获取新的验证码,只能等5分钟。
同学,可以具体一些吗,比如哪些地方有坑,我看看怎么调整一下,感谢
嗯嗯,谢谢老师。 有1个地方是在数据库配置的时候,过期时间1分钟,不过这个好像是设成了1小时: get expire(){ return ()=>{ return new Date().getTime()+60*60*1000 } } 还有就是在注册接口里头, if (code === saveCode) { if (new Date().getTime() - saveExpire > 0) { ctx.body = { code: -1, msg: '验证码已过期,请重新尝试' } return false } } else { ctx.body = { code: -1, msg: '请填写正确的验证码' } } } else { ctx.body = { code: -1, msg: '请填写验证码' } } 验证码填写错误和验证码没有填写的逻辑里面没有写return 语句,就会继续执行下面的创建用户。 再次谢谢老师!
我补充一下我遇到的吧,只要是过了users/verify接口,即点击获取验证码之后(并没有点注册),你再使用同样的昵称和邮箱就会显示验证请求过于频繁,猜测是过期时间那出了问题。
感谢反馈,我们想办法调整下
登录后可查看更多问答,登录/注册
整合大前端8项技术,全面晋级全栈工程师,毕设/面试作品
1.1k 15
1.5k 12
1.3k 12
1.8k 12
2.8k 11