wx.ml
<view class="item {{change2?\'change_border\':\'\'}}"> <label for="">验证码</label> <input type="testmsg" value="{{testmsg}}" data-index="2" bindblur="nochanegBorder" bindinput="changeValue" bindfocus="changeBorder" placeholder="请输入密码" /> <view class="test {{getTest?\'\':\'test_active\'}}" bindtap="{{getTest?\'\':\'getTestMsg\'">{{getTest?\'重新获取\'+waitTime/1000+\'S\':\'获取验证码\'}}</view>
</view>
wx.js
onLoad: function (options) { let that = this; let waitTime = wx.getStorageSync(\'waitTime\') let getTest = wx.getStorageSync(\'getTest\') if (waitTime) { that.setData({ waitTime },()=>{ if(waitTime!==0 && waitTime!==60000){
that.getTestMsg() } }) } else { wx.setStorageSync(\'waitTime\', 60000) } if (getTest) { that.setData({ getTest }) } else { wx.setStorageSync(\'getTest\', false) } }, getTestMsg() { const that = this; let waitTime = wx.getStorageSync(\'waitTime\'); console.log(waitTime) if (!that.data.getTest) { that.setData({ getTest: true },()=>{ wx.setStorageSync(\'getTest\',true) }) } //发送验证码 if (waitTime == 0) { that.setData({ getTest: false }, () => { wx.setStorageSync(\'waitTime\', 60000) wx.setStorageSync(\'getTest\', false) }) //重新获取验证码 } else { setTimeout(() => { waitTime = waitTime - 1000; that.setData({ waitTime }, () => { wx.setStorageSync(\'waitTime\', waitTime) return that.getTestMsg() }) }, 1000) } }
微信小程序验证码JS获取最新
demo() { const that=this; //获取最新时间 let newTime = new Date().getTime(); //获取旧时间 wx.getStorage({ key: "oldTime", complete(res) { //旧时间不存在 if (!res.data) { wx.setStorage({ key: "oldTime", data: newTime, success() { //递归调用demo return that.demo(); } }) } else { //旧时间存在 let oldTime = res.data; let Timeresult = parseInt((newTime - oldTime) / 1000) * 1000; if (Timeresult >60000) { //清楚旧时间 wx.removeStorage({ key: \'oldTime\' }) } else { //延时 setTimeout(() => { that.setData({ waitTime:(60000 - Timeresult)/1000 },()=>{ if(Timeresult==0){ //发送验证码 return that.demo(); }else{ //递归调用demo return that.demo(); } }) }, 1000) } } } }) }