美文网首页vue
VUE-发送短信验证码,60秒后点击重发

VUE-发送短信验证码,60秒后点击重发

作者: 你这个锤子 | 来源:发表于2022-10-07 16:47 被阅读0次
<template>
  <div class="common-input-wrap" :class="{ warningBorder: warningCodeText?true:false }" >
    <input type="tel" maxlength="6" class="mobile code" v-model.trim="form.code" placeholder="请输入短信验证码" />
    <button class="send-code" @click="getCode" :disabled="getCodeisWaiting" :class="{ disabled: getCodeisWaiting }" >{{ getCodeText }}</button>
    <p class="warning">{{ warningCodeText }}</p>
  </div>
</template>
<script>
    export default {
        data() {
            return {
                Timer: null,
                form: {
                  code: ''                
                },
                getCodeisWaiting: '',
                getCodeText: '获取验证码',
                getCodeisWaiting: false, // 禁止多次点击
                warningCodeText: ''// 报错信息 
            }
        },
        methods: {
            getCode() {
              this.setTimer()
            },
            setTimer() {
                let holdTime = 60;
                this.getCodeisWaiting = true;
                this.Timer = setInterval(() => {
                if (holdTime <= 0) {
                    this.getCodeisWaiting = false;
                    this.warningCodeText = "短信验证码已失效,请重新获取";
                    this.getCodeText = "获取验证码";
                    this.form.code=''
                    clearInterval(this.Timer);
                    return;
                }
                this.getCodeText = holdTime + "s";
                holdTime--;
                }, 1000);
            },
            // 清楚页面的定时器
            stopAllTimer() {
              clearInterval(this.Timer);
              this.Timer = null;
              this.getCodeisWaiting = false;
              this.getCodeText = "获取验证码";
            },
        }
    }
</script>
<style scoped lang="scss">
.warningBorder {
    border-bottom: 1px solid #ea0000 !important;
}
.common-input-wrap {
    width: 100%;
    height: 70px;
    border-bottom: 1px solid #ebecf1;
    position: relative;
    display: flex;
    align-items: flex-end;
    padding-bottom: 12px;
    input {
        border: none;
        padding: 0 10px;
        outline: none;
        font-size: 14px;
    }
    .mobile.code {
        width: 150px;
    }
    .send-code {
        border: none;
        display: inline-block;
        vertical-align: middle;
        height: 40px;
        line-height: 40px;
        width: 90px;
        text-align: center;
        // float: right;
        cursor: pointer;
        font-size: 14px;
        position: absolute;
        right: 0;
        bottom: 3px;
        border-radius: 4px;
        outline: none;
        color: #ffffff;
        background-color: #1d2a75;
    }
    .disabled {
        color: #888888;
        background: #ebecf1;
    }
    .warning {
        font-size: 12px;
        color: #ea0000;
        position: absolute;
        bottom: -18px;
        width: 100%;
    }
}
<style>


相关文章

  • VUE-发送短信验证码,60秒后点击重发

  • jquery短信验证码倒计时效果

    1. 点击发送短信验证码 按钮点击后禁用及倒计时60s

  • 短信验证码深度解剖

    一、短信验证码运作机制 1. 验证码加密发送 在APP中点击发送验证码,向后台发送一个发送验证码请求; 后台收到请...

  • 短信轰炸机

    利用浏览器模拟点击发送短信验证码,找一批有发送短信验证码功能的网站,然后针对每个网站写点击规则,完全是体力活。然后...

  • 短信验证码攻击和暴力破解

    短信验证码攻击:1.使用burpsuite抓取发送验证码的包,将内容发送到Intruder中,点击Position...

  • Django相关技术点文档

    Django总结 发送短信: 检查确认图片验证码 检查60s内是否发送过 否生成短信验证码 保存短信验证码以及发送...

  • 短信API实现自动化短信发送

    短信验证码接口示例,如何接入短信API接口实现短信自动发送功能; 网站如何实现自动发送短信验证码的功能,短信验证码...

  • 接入短信API,免费试用

    短信验证码接口示例,如何接入短信API接口实现短信自动发送功能; 网站如何实现自动发送短信验证码的功能,短信验证码...

  • C#发送短信验证码

    业务: 手机端点击发送验证码,请求发送到java服务器端,由java调用榛子云短信接口,生成验证码并发送。 ...

  • 短信验证模拟登录饿了么

    观察登录流程 无图形验证码的情况 输入手机号 点击发送短信验证码 提交短信验证码 有图形验证码的情况 输入手机号 ...

网友评论

    本文标题:VUE-发送短信验证码,60秒后点击重发

    本文链接:https://www.haomeiwen.com/subject/tqhwartx.html