vue 发送验证码+倒计时组件

VUE发送短信倒计时组件代码 组件源码 0">{{ text }} export default{ props: {         second: {             type: Number,             default: 60         }     },     data:function () {      return {         time 阅读详情

效果图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

组件代码

<template>
  <el-button
    @click="getCodeFlag && getSecuntyCode()"
    :loading="getCodeLoading"
    >{{ codeText }}</el-button
  >
</template>
<script>
import { sendCode } from '@/api/user.js'
export default {
  name: 'SecurityCode',
  components: {},
  props: {
    email: {
      type: String,
      require: true
    }
  },
  data () {
    return {
      getCodeLoading: false,
      time: 60, // 倒计时初始值
      codeText: '获取验证码',
      getCodeFlag: true
    }
  },
  computed: {},
  watch: {},
  created () {},
  mounted () {},
  methods: {
    async getSecuntyCode () {
      this.getCodeLoading = true
      this.getCodeFlag = false
      if (!this.isValid(this.email)) {
        this.getCodeLoading = false
        this.getCodeFlag = true
        return this.$message({
          message: '邮箱格式填写正确了,再获取验证码哦!',
          type: 'warning'
        })
      }
      try {
        await sendCode({ email: this.email, type: 0 })
        this.$message.success('验证码已发送!')
      } catch (error) {
        this.$message.error('获取验证码失败!')
      }
      this.getCodeLoading = false
      this.countDown()
    },
    countDown () {
      const interval = window.setInterval(() => {
        this.codeText =
          (this.time < 10 ? '0' + this.time : this.time) + '秒后重新发送'
        --this.time
        if (this.time < 0) {
          this.time = 60
          this.codeText = '重新发送'
          this.getCodeFlag = true
          window.clearInterval(interval)
        }
      }, 1000)
    },
    // 判断email的合法性
    isValid (value) {
      const phoneReg =
        /^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
      if (phoneReg.test(value)) {
        return true
      } else {
        return false
      }
    }
  }
}
</script>
<style scoped lang="less"></style>

使用步骤
引用

import SecurityCode from '@/components/security-code'

注册组件

components: {
    SecurityCode
  }

使用
要传入email(因为要校验其是否合法 再先服务器发起请求)

<security-code
            :email="createQuickForm.email"
            ></security-code
          >
在 SAP 里玩转 FTP:标准程序 RSFTP00x 全景解析与落地实践 摘要:SAP系统通过封装的标准FTP程序(RSFTP001-008)提供便捷的文件传输能力,适用于各类集成场景。关键点包括:1)依赖SAPFTP可执行程序和RFC目的地;2)使用RSFTP005进行前置检查并生成RFC配置;3)标准报表各司其职,如RSFTP002用于命令测试、RSFTP007/008提供参考实现;4)开发时组合FTP_CONNECT/COMMAND/DISCONNECT等函数模块。特别注意前台(SAPFTP)与后台(SAPFTPA)的环境差异,这是常见故障点。该方案通过标准化工具链显著降低 阅读详情

相关推荐

玩转openclaw+企业微信

OpenClaw横空出世:AI从问答到执行的范式革命 OpenClaw作为2026年AI领域的重大突破,实现了从对话机器人到智能执行体的进化。其核心价值在于"自主执行"而非简单交互,通过六层解耦架构(表现层、网关层、运行时层、技能层、工具层、记忆层)构建完整执行闭环。关键技术包括Model Context Protocol实现多模型兼容,以及事件驱动架构确保实时响应。安装过程支持多平台,通过Node.js环境即可快速部署,并支持对接主流大模型。OpenClaw标志着AI开始真正&quot

西木风落 1591

封装组件——全局倒计时loading框

封装组件——全局倒计时loading框前言需求实现组件内容封装组件实例注册及使用注册使用效果 前言 对于之前封装的loading组件想要进行一个优化,然后想到可以不用在页面中添加template引入组件模板,而是直接将组件挂载到vue实例上,使用this原型调用组件并传值 需求 需要一个全局倒计时loading框,倒计时可自定义,提示信息可自定义 实现 组件内容 loading.vue <t...

玛已的小空间 1056

SAP EWM 内向交货流程(一)

本文介绍了SAP EWM系统中内向交货单的基本配置与操作流程。

huqinghai的专栏 2398

vue 验证码倒计时

这样就可以实现一个基本的验证码倒计时功能。注意,在实际情况下还需要对获取验证码的逻辑进行处理,例如发送验证码请求、验证手机号码等。

wgq2020的博客 1245

AI工程化之生成式UI & A2UI(一)

本文系统介绍了生成式UI和Google A2UI技术。生成式UI通过AI直接生成前端代码(完全生成式)或DSL(混合式),实现千人千面的动态界面和研发提效。Google A2UI提出组件级和消息级协议,采用JSON规范实现渲染框架解耦,支持多端渲染。文章详细阐述了A2UI的架构设计,包括协议生成、服务端处理和渲染器实现,并对比了与传统前端框架的差异,指出A2UI本质是UI=F(AI(UI)+AI(state))的创新模式。最后通过playground项目展示了A2UI的实践应用。

qq_34306228的博客 589

免费AI视频生成全流程:通义千问+Seedance 2.5+Grok实战指南

AI视频生成正在成为内容创作的重要方式,但高昂的API费用常让个人创作者望而却步。实际上,通过合理组合云端免费工具,也能搭建一条完整的视频生产链路:利用大模型生成脚本,用视频生成模型将文本渲染成画面,再借助多模态模型进行一致性校验。这种“文本+视频+多模态”的协作模式,将复杂的生成任务解耦为可独立调用的模块,既降低了本地硬件要求,也为批量内容验证提供了低成本方案。该流程适用于短视频素材快速产出、产品Demo验证以及AI应用集成等场景,核心在于打通免费账号、API调用与批量任务调度。本文以通义千问、Seeda

weixin_29044157的博客 378

047:vue加载循环倒计时 示例

vue项目中,有很多时候我们需要做倒计时相关的应用。如果是多个倒计时,需要做一个循环,下面这个示例是如何显示倒计时的方法。

大剑师兰特的GIS世界 898

Android车载桌面开发实战:从CarLauncher源码解析到自定义Launcher开发(Android 11)

本文深入解析了Android 11中CarLauncher的源码架构与核心模块,并提供了从零开始定制开发车载Launcher的完整实战指南。内容涵盖车载桌面的独特定位、驾驶场景优化、多屏协同、动态内容嵌入等核心挑战,以及如何构建符合安全规范、体验流畅的自定义车载桌面应用,是车载应用开发者提升系统级定制能力的实用参考。

weixin_29266647的博客 516

vue实现验证码倒计时——js定时函数的应用

setTimeout()、setInterval()定时函数

kumababe的博客 383

华为OD机试真题 新系统 2026-09-26 Java&Go&C【数据中心最佳维护时间窗】

数据中心使用一个整数数组 scores,记录 N 小时内每小时的服务器得分(可正可负)。0 表示服务器故障(无效小时)。

MISAYAONE的博客 98

Windows远程桌面开发之九-虚拟显示器(Windows 10 Indirect Display 虚拟显示器驱动开发)

by fanxiushu 2019-06-24 转载或引用请注明原始作者。 这里与远程桌面关系不是太大,但这个部分是xdisp_virt远程控制程序的实现多显示器桌面扩展的子功能,因此也归为远程桌面开发一类。 这篇文章与之前发布的...

fanxiushu的专栏 2万+

vue中通过定时器设置倒计时,5秒倒计时

前言:有时候,在项目中,我们经常需要设置简单的倒计时功能,这个可以通过定时器来实现。 一、设置div显示倒计时数字 <div class="countCircle"> <span>{{countdown}}</span> </div> 二、JS中设置方法 export default{ data(){ countdown:'5', timer: null, }, methods:{

qq_26780317的博客 1万+

3D iToF深度分辨率测量

本文展示了RGB-D传感器在三维测量中的高精度表现。标靶深度图显示其具备清晰、低噪、无干扰的特性,点云数据完整度高且轮廓分明。该技术已成功应用于物流(体积测量误差<1%)、工业(高反光部件装配检测)和农业(果蔬成熟度分级)等领域,验证了其硬件和算法的可靠性,能够满足不同场景下的三维测量需求。

dream it possible 252

vue发送验证码时间倒计时组件

注册组件 先导入,再使用 <template> <span class="count_info btn btn-default" :class="{'btn-info': !code_sended}"> <span v-show="show" @click="getCode">获取验证码</span> ...

我是张先生 3630

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

vue 发送验证码倒计时公共组件

前言 基本上做的每个项目都会有发送验证码的需求,之前一直是遇到一次写一次方法,这次做这个需求的时候正好把这个功能封装为组件,以方便后期使用。 这里需要注意的是:\color{red}{这里需要注意的是:}这里需要注意的是: 1,了解vue–props属性的都知道,我在props传参数的时候默认值是在你什么参数都没有传入的时候生效 2,所以这个时候需要全部都从父组件传入,也是比较灵活的做法 3,如果真的需要使用灵活的使用默认值,那就在公共得组件内使用computed计算属性,这样就可以使用默认值了,也就是下面

郝峰vip的博客 453

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

vue组件中校验手机号、发送验证码倒计时、密码明文切换、短信验证登录

1.动态添加一个类名 2.使用vue的计算属性来判断什么时候可以使用 <template> <section class="loginContainer"> <div class="loginInner"> <div class="login_header"> <h2 class="login_logo">硅谷外卖</h2> <div class="login_head

weixin_43837268的博客 819

封装60秒倒计时vue组件

2、子组件sendTime.vue。1、父组件home.vue。

weixin_46003296的博客 439

vue获取(短信or邮箱)验证码组件

&lt;template&gt;     &lt;button          :style="config.cssSet?config.cssSet:''"          class="common-getCodeBtn"          @click="togetCode"         :disabled="isGetting"         &gt;{{ message?mes

weixin_41421227的博客 2361

在vue项目中做一个发送验证码业务

在这里用了vueuse中的useIntervalFn方法官方文档 发送验证码,需要校验手机号,和判断是否60秒内,方可发送。组件销毁时候清除定时器。 //先引入 import { useIntervalFn } from '@vueuse/core' <span @click="send()" class="code"> {{timer===0?'发送验证码':`${time}秒后发送`}} </span> // 倒计时 const timer = ref(0) // 发

haodanzj的博客 596

登录注册中的验证码倒计时

&lt;span v-if="sendDisabled"&gt;{{time+'秒后获取'}}&lt;/span&gt; &lt;span v-if="!sendDisabled" @click="sends"&gt;获取验证码&lt;/span&gt; data{  return {       time: 60, // 发送验证码倒计时       sendMsgDi

qq_33040483的博客 422

使用Vue纯前端实现发送短信验证码并实现倒计时

你好,我是小白Coding日志,一个热爱技术的程序员。在这里,我分享自己在编程和技术世界中的学习心得和体会。希望我的文章能够给你带来一些灵感和帮助。欢迎来到我的博客,一起在技术的世界里探索前行吧!在实际的应用开发中,涉及用户登录验证、密码重置等场景时,通常需要前端实现发送短信验证码的功能,以提升用户体验和安全性。这个过程涉及与后端的协同配合,通过调用短信网关或短信服务接口,将验证码发送至用户手机。以下是一个简单的前端实现,演示了如何在用户点击发送验证码按钮时触发短信验证码的发送,并开始一个倒计时。

技小白的博客 3024

vue + elementui 表单居中对齐,验证码倒计时

1、表单居中对齐: <fieldset> <legend >个人信息</legend> <!-- 姓名 --> <el-form-item label="姓名:" prop="apply_person_name" size = 'small' > <el-input v-model="form.apply_person_name" placeholder="请输入

pin-csdn的博客 8159

关于vue实现验证码倒计时功能

template <div class="keyCode"> <el-input key="registerKeyCode" placeholder="请输入验证码" v-model="keyCode"> <i slot="prefix" class="el-input__icon iconfont icon-anquan"></i> </e

m0_46977781的博客 280

vue如何封装一个组件,验证码倒计时组件

vue如何封装一个组件,验证码倒计时组件 //注意自定义组件中的组件名不能为大写多个单词用-连接 // 定义一个名为 item-time 的新组件 //服务项目列表 Vue.component('item-time', { props: ['maxtotaltime','settime'], template: ` <div class="btn" @click="getVerificationCode()" style="position: absolute;rig

weixin_41970780的博客 523

vue发送验证码倒计时

效果 <el-form-item prop="verificationCode"> <el-input type="text" v-model="ruleForm.verificationCode" autocomplete="off" placeholder="验证码" class="verificationCode"></el-input> <span class="getCode" @click="getCode()" v-show="sho

weixin_38673922的博客 552

Vue+vant 实现--发送验证码实现倒计时的功能

vue,vant,发送验证码实现倒计时,倒计时功能实现,vue实现倒计时,vant中countDown的用法,countDown,countDown用法

你喜欢大熊猫嘛 1584

vue组件中校验手机号、发送验证码倒计时、密码明文切换、短信验证登录(2)

总的来说,面试官要是考察思路就会从你实际做过的项目入手,考察你实际编码能力,就会让你在电脑敲代码,看你用什么编辑器、插件、编码习惯等。所以我们在回答面试官问题时,有一个清晰的逻辑思路,清楚知道自己在和面试官说项目说技术时的话就好了开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】return {loginWay: false, // true代表短信登陆, false代表密码computeTime: 0, // 计时的时间showPwd: false, // 是否显示密码。

2401_84616585的博客 385
上一篇: Vue2中使用vue-croper插件实现图片上传裁剪--超详细
下一篇: vue3+ts 实现图标控制音乐播放
Liu_简爱
博客等级 码龄7年 16粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值