思路:
本地端:
- 首先我们应该是先输入手机号,当点击获取验证码时,当获取成功时,我们应该开启一个定时线程,去刷新多少秒后获取验证码
服务器端:
1.我们可以考虑把 随机生成的验证码 放在redis端,并设置过期时间 或者放到 session 里面, 最好放到redis端,因为它的过期时间刚好符合重新获取验证码的业务思路,因为验证码只在登陆注册功能所使用,让它定时失效,比让他一直存在内存空间,更优。
2.获取验证码如果你是要通过api调用短信发送验证码平台,要考虑不能让用户一直访问接口去生成验证码,因为发送那么多要钱呀。
3.存储验证码的key 可以采用 用户唯一标识 + 后缀 value 存储对应的验证码的方式去存储验证码。
伪代码逻辑:
If (从redis端能得到验证码) {
// 就不访问api 生成短信验证码 , 直接从redis 取出验证码返回
} else {
// 程序生成验证码
// redis设置验证码,过期时间
// 访问api 生成短信验证码
}