vue 短信验证码

Posted 沙滩多啦图

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 短信验证码相关的知识,希望对你有一定的参考价值。

Vue.component(‘timerBtn‘,{
    template: ‘<button v-on:click="run" :disabled="disabled || time > 0">{{ text }}</button>‘,
    props: {
        second: {
            type: Number,
            default: 60
        },
        disabled: {
            type: Boolean,
            default: false
        }
    },
    data:function () {
        return {
            time: 0
        }
    },
    methods: {
        run: function () {
            this.$emit(‘run‘);
        },
        start: function(){
            this.time = this.second;
            this.timer();
        },
        stop: function(){
            this.time = 0;
            this.disabled = false;
        },
        setDisabled: function(val){
            this.disabled = val;
        },
        timer: function () {
            if (this.time > 0) {
                this.time--;
                setTimeout(this.timer, 1000);
            }else{
                this.disabled = false;
            }
        }
        
    },
    computed: {
        text: function () {
            return this.time > 0 ? this.time + ‘s 后重获取‘ : ‘获取验证码‘;
        }
    }

});

 

 

<timer-btn ref="timerbtn" class="btn btn-default" v-on:run="sendCode" ></timer-btn>


var vm = new Vue({
    el:‘#app‘,
    methods:{
        sendCode:function(){
            vm.$refs.timerbtn.setDisabled(true); //设置按钮不可用
            hz.ajaxRequest("sys/sendCode?_"+$.now(),function(data){
                if(data.status){
                    vm.$refs.timerbtn.start(); //启动倒计时
                }else{
                    vm.$refs.timerbtn.stop(); //停止倒计时
                }
            });
        },
    }
});

 

 

以上是关于vue 短信验证码的主要内容,如果未能解决你的问题,请参考以下文章

vue 短信验证码

vue,一路走来(14)--短信验证码框的实现(类似支付密码框)

调用获取验证码接口失败

短信验证码接口开发代码

验证码短信 API 接入指南:Java 语言示例代码

vue实现获取验证码