发送验证码倒计时效果实现

article/2025/11/9 5:48:25

目录

  • 前言
  • 一、应用场景
  • 二、代码演示
  • 三、 效果演示
  • 总结


前言

今天用@vueuse/core中提供的一个方法,实现发送验证码时倒计时的一个效果。这样的场景使我们经常会见到的,一起来看一下如何实现


一、应用场景

用户选择手机号和验证码登录的时候,往往需要填写手机号后,点击发送验证码来进行后续操作。那么发送验证码的动作应该有一个限制,不然用户一直点击按钮,不但会给用户带来经济损失,也会发送很不必要的请求给后台。

所以对用户点击发送验证码后的按钮,进行一个倒计时的防抖操作是必须的。

二、代码演示

用到的button全局组件 ===》vue3——自己封装按钮组件
使用@vueuse/core中的useIntervalFn来帮助我们完成这项工作

首先需要在项目根目录下打开任意终端,执行npm i @vueuse/core@5.3.0

代码如下(示例):

<template><div class="home-container"><my-button type="plain" size="middle" @click="sendCode">{{timer === 0 ? '发送验证码' : `${timer}s后重新获取`}}</my-button></div>
</template><script>
import { ref } from 'vue'
import { useIntervalFn } from '@vueuse/core'
export default {name: 'App',setup() {// 倒计时const timer = ref(0)// 发送验证码倒计时// useIntervalFn(定时的回调,回调的时间间隔,控制回调的调用方式)// 参数三 {immediate: true, immediateCallback: false}// 3-1) immediate 首次运行useIntervalFn函数时,是否立刻开启定时任务(默认值true表示默认开启)// 3-2)immediateCallback 执行useIntervalFn函数立刻执行回调(在延时时间的前或者后调用),默认值是false,如果修改为true,表示为不延时,立刻启动定时任务(不要使用pause方法)// pause暂停;resume启动const { pause, resume } = useIntervalFn(() => {if (timer.value <= 0) {// 停止定时任务pause()} else {// 单次定时任务执行的回调timer.value--}},1000,{// 默认不开启定时任务immediate: false})// 发送验证码const sendCode = () => {// 开启倒计时效果if (timer.value === 0) {timer.value = 60resume()} else {return}// 这里写向后台发送请求的代码console.log('发送请求')}return { timer, sendCode }}
}
</script><style lang="less">
.home-container {margin: 100px auto;width: 300px;height: 100px;
}
</style>

三、 效果演示

这里将倒计时的时间调整的短一些,方便给大家演示。

在这里插入图片描述
可以看到规定时间内,想要执行的代码只能执行一次。


总结

Constant dropping wears the stone.


http://chatgpt.dhexx.cn/article/eEWEO6iW.shtml

相关文章

阿里云短信服务——短信发送验证码

引言 短信服务现在在很多地方都用的到&#xff0c;我们最多接触到的可能就是验证码的发送了&#xff1b;现在很多大厂都提供由短信服务对应的api&#xff0c;直接调用就可以轻松实现短信发送&#xff1b;下面我以阿里云为例&#xff0c;演示一下如何短信发送验证码&#xff1b…

实战总结:邮箱发送验证码

java邮箱发送验证码 目前项目中需要同时支持短信和邮箱验证&#xff0c;短信用的是腾讯云就不多说了&#xff0c;在此分享一下邮箱验证码发送。 首先&#xff0c;作为发送邮箱&#xff0c;需要开启POP3/SMTP/IMAP&#xff0c;登录邮箱–设置–账户–开启POP3/SMTP/IMAP&#x…

SpringBoot整合邮箱发送验证码

1、以QQ邮箱为例&#xff0c;点开设置开启POP3/SMTP服务 2、创建一个springboot项目 1&#xff09;引入maven依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> </dependen…

Vue3发送验证码-防止页面刷新-发送验证码状态改变

效果: 1.页面DOM <div v-show"state.sendAuthCode" click"getCode">发送验证码</div> <div v-show"!state.sendAuthCode" ><span class"auth_text_blue">{{state.second}} </span>s</div>2. 业务…

C#实现手机发送验证码

目录 具体实现——封装一个类里&#xff0c;U层直接调用 配置文件的内容如下 验证手机号的正则表达式 首先先需要注册第三方网站&#xff0c;给大家推荐一个网站互亿无线&#xff0c;注册了之后每个用户可以免费发送50条短信。 下面以C#实现手机发送验证码为例。基本思路是本地…

uniapp 发送验证码倒计时

实现原理&#xff0c;点击发送验证码按钮&#xff0c;开始倒计时效果 准备工作 &#xff1a;在data中定义变量 ​​​​​​​ 点击事件 let timerId setInterval(() > {this.countDown--;this.sendText this.countDown "秒后重试";if (this.countDown < 0)…

html给手机号发送验证码,js如何实现手机发送验证码功能

js如何实现手机发送验证码功能 发布时间:2021-06-21 12:24:46 来源:亿速云 阅读:82 作者:小新 这篇文章将为大家详细讲解有关js如何实现手机发送验证码功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 效果图: 代码如下:html&g…

Python发送验证码短信

Python发送验证码短信 前提条件相关介绍实验环境发送验证码短信账户注册查看用户名查看密码主要步骤代码实现输出结果 前提条件 熟悉Python基本语法 相关介绍 Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被…

html如何发送验证码到手机,页面效果,给手机发送验证码

html>定时发送验证码 var wait 5; function send(o) { if(wait5){ //向服务器发送请求&#xff0c;给手机发送验证码 // $.post("/simple/user/sendCode/mobile", // { // "mobile" : "${user.mobile}", // "number" : 2 // }, …

实现发送验证码功能

// 需求一&#xff1a;发送验证码// 用户点击之后&#xff0c;显示05秒后重新获取// 时间到了&#xff0c;自动改为重新获取let code document.querySelector(.code)code.addEventListener(click, function () {this.innerHTML 05秒后重新获取let mark 5let time setInterva…

发送验证码倒计时

点击发送验证码按钮的时候 会调用ajax请求发送验证码 但是 如果没有设置倒计时 如果一直重复点击按钮的话 会一直请求发送验证码 所以我们要设置一个验证码倒计时 <input id"sendCodeId" type"button" class"btn btn-danger" click"sen…

微信小程序发送验证码

记录一下&#xff0c;小程序发送验证码的小案例。废话不多说&#xff0c;直接撸代码。。。 1、效果图如下 wxml: <view classheader> <input typenumber placeholder请输入手机号 bindinputmInput></input> </view> <view classnav> <v…

Javascript发送验证码

一、请求原理 由于现在网站的都有手机登陆或注册&#xff0c;向制定地址发送一个post活get请求&#xff0c;那么我们利用这一思路&#xff0c;就可以在本地上利用Ajax来模拟网站的登陆注册操作&#xff0c;从而实现向发送验证码。 二、获取第三方网站验证码接口 随便找一个带验…

简析发送手机验证码原理

文章目录 发放手机验证码手机验证码校验小结 在一般互联网网站&#xff08;如淘宝、京东等&#xff09;注册账号或者找回密码时通常让用户进行手机号码进行 发送验证码验证&#xff0c;这种方式能有效的保证帐号安全&#xff0c;下面来解析一下它的原理。 整体流程如下图如示&…

App接口测试总结

使用工具 Fiddler、Jmeter 测试步骤&#xff1a; 1. 确认接口 从开发人员那里获取接口文档&#xff0c;接口文档应该包括完整的功能接口、接口请求方式、接口请求URL、接口请求参数、接口返回参数。 如果当前项目没有接口文档&#xff0c;则可以使用fiddler对APP进行抓包确认…

Xilinx DDR3 —— MIG IP核的原理(APP接口)

DDR3 SDRAM&#xff08;Double-Data-Rate Three Synchronous Dynamic Random Access Memory&#xff09;是 DDR SDRAM的第三代产品&#xff0c;DDR SDRAM 的最大特点是双沿触发&#xff0c;即在时钟的上升沿和下降沿都能进行数据采集和发送&#xff0c;同样的工作时钟&#xff…

APP接口设计规范

APP接口设计规范 效率安全版本兼容性面向对象设计数据格式Json服务端的异常处理https协议 1.效率 APP对服务器端要求是比较严格的&#xff0c;在移动端有限的带宽条件下&#xff0c;要求接口响应速度要快&#xff0c;所有在开发过程中尽量选择效率高的框架&#xff0c;对数据…

TP6+JWT开发APP接口

1. 开发环境 PHP框架: ThinkPHP6操作系统: MacOsWeb服务器: Nginx 2. APP接口 2.1. 简介 客户端与服务端进行数据交互的通道, 大部分APP接口都是通过HTTP协议通信的 2.2. HTTP通信的三要素 URL 通信地址Method 通信方式(GET|POST|PUT|DELETE)Params 通信的内容 2.3 APP接…

快速开发一个混合APP(Hybrid APP)

混合开发APP&#xff08;Hybrid APP&#xff09;简单说就是将原生功能封装成JS接口&#xff0c;前端通过调用接口实现功能。前端使用html来开发APP&#xff0c;可以实现自动更新&#xff0c;一套代码同时生成Android和iOS两端安装包&#xff0c;开发速度快&#xff0c;用户体验…

Hybrid App开发 四大主流平台

Hybrid App在过去的两年中已经成为移动界的核心话题&#xff0c;但是作为一名Web开发者来说要如何站在移动互联网的浪潮之巅呢&#xff1f;是选择学习原生开发&#xff0c;研究Java、 Object-C、C#等语言&#xff0c;还是选择继续使用网页开发&#xff0c;容忍HTML5功能的局限性…