发送手机验证码显示一分钟才能再次发送怎么做
时间: 2023-10-26 20:11:29 浏览: 74
这个功能可以通过前端和后端配合实现。
首先,在前端页面上,当用户点击发送验证码按钮时,需要禁用按钮并启动一个定时器,以便在一分钟后自动启用按钮。代码示例如下:
```javascript
// 点击发送验证码按钮时执行
function sendVerificationCode() {
// 禁用按钮
document.getElementById('send-btn').disabled = true;
// 启动定时器
var countdown = 60;
var timer = setInterval(function() {
if (countdown <= 0) {
clearInterval(timer);
// 倒计时结束后启用按钮
document.getElementById('send-btn').disabled = false;
} else {
// 显示倒计时
document.getElementById('send-btn').innerHTML = countdown + '秒后重试';
countdown--;
}
}, 1000);
}
```
然后,在后端代码中,需要记录每个手机号最近一次发送验证码的时间,并在用户请求发送验证码时进行判断,如果距离上次发送验证码的时间不足一分钟,则返回错误信息,否则发送验证码并更新最近发送时间。代码示例如下:
```python
import time
# 记录每个手机号最近一次发送验证码的时间
last_send_time = {}
def send_verification_code(phone_number):
# 获取当前时间
current_time = time.time()
# 判断距离上次发送验证码的时间是否超过一分钟
if phone_number in last_send_time and current_time - last_send_time[phone_number] < 60:
return '请等待1分钟后再发送验证码'
# 发送验证码
# ...
# 更新最近发送时间
last_send_time[phone_number] = current_time
return '验证码已发送'
```
这样,就可以实现发送手机验证码显示一分钟才能再次发送的功能了。