小程序发送验证码倒计时

var countdown = 120;
var settime = function (that) {
    if (countdown == 0) {
        that.setData({
            codeText: '获取验证码',
            code_time: '',
            isClick: false
        })
        countdown = 120;
        return;
    } else {
        that.setData({
            code_time: countdown + '秒'
        })
        countdown--;
    }
    setTimeout(function () {
        settime(that)
    }, 1000)
}
Page({

    /**
     * 页面的初始数据
     */
    data: {
        phone: '',//手机号
        isClick: false, //是否点击状态,通过此状态防止多次点击
        codeText: '获取验证码',
    },

    //获取验证码
    getCode: function (e) {
        var _this = this
        var click = _this.data.isClick
        //防止多次点击
        if (!click) {
            _this.setData({
                isClick: true
            })
            wx.request({
                url: getApp().interFaceUrl._url + 'Home/Login/get_code',
                method: 'POST',
                data: {
                    phone: _this.data.phone,
                    types: 1
                },
                header: {
                    'content-type': 'application/x-www-form-urlencoded'
                },
                success: function (res) {
                    if (res.data.status == 'ok') {
                        getApp().okInfo('验证码已发送');
                    } else {
                        getApp().errorInfo('验证码发送失败');
                    }
                    _this.setData({
                        codeText: '重新发送'
                    })
                    settime(_this);
                }
            })
        }
    }
})
原文地址:https://www.cnblogs.com/zjj1990/p/8118366.html