发布时间:2024-02-12 14:30
var serverUrl = app.globalData.serverUrl;
// 调用后端发送验证码
uni.request({
method: "POST",
url: serverUrl + "/passport/getSMSCode?mobile=" + mobile,
success(result) {
var status = result.data.status;
if (status != 200) {
uni.showToast({
title: result.data.msg,
icon: "none"
});
}
// 开始倒数60秒限制
if(me.codeTimes == 0) {
me.doTimer(59);
}
}
});
},
// 发送验证码的倒计时方法
doTimer(times) {
var me = this;
// 倒计时定时器
var sendCodeBtnFunction = function(){
var left = times--;
if (left <= 0) {
me.codeTouched = false;
me.codeBtnText = "发送验证码";
clearInterval(smsTimer);
} else {
me.codeBtnText = left + "s";
}
me.codeTimes = left;
};
var smsTimer = setInterval(sendCodeBtnFunction, 1000);
},
由于为了避免频繁获取验证码导致无效的操作,因此,对验证码获取逻辑需要进行前置拦截处理。
根据用户ip进行限制,限制用户在60秒之内只能获得一次验证码
先进入->验证码前置拦截处理:
SpringBoot中如何实现全链路调用日志跟踪?这方法才优雅
WWW 2021最佳论文亚军:基于属性补全的异质图神经网络新架构
Datawhale 7月学习——李弘毅深度学习:卷积神经网络
【历史上的今天】7 月 13 日:数据库之父逝世;苹果公司购买 CUPS 代码;IBM 芯片联盟
python 的env 项目创建docker 镜像 demo
02-vue 侦听器 计算属性、单页面应用程序◆ vite 的基本使用 vue-cli vue 组件-props axios 的基本使用
.NET 使用自带 DI 批量注入服务(Service)和 后台服务(BackgroundService)