引言:设置指定时间内只能访问一次接口,首先进入小程序时根据本地是否有缓存的时间戳进行判断,然后进行相关的操作。
1、计算两个时间戳之间的差值
timeFresh() {
var date = new Date(); //新建一个日期对象,默认现在的时间1623138209558
var timestamp = date.getTime(); //调用getTime()方法获取毫秒数
// console.log(my.getStorageSync({ key: 'startTime' }).data.startTime);
// console.log(timestamp)
// console.log(timestamp - my.getStorageSync({ key: 'startTime' }).data.startTime);
var date3 = timestamp - my.getStorageSync({ key: 'startTime' }).data.startTime;
//计算出相差天数
var days = Math.floor(date3 / (24 * 3600 * 1000))
//计算出小时数
var leave1 = date3 % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
var hours = Math.floor(leave1 / (3600 * 1000))
//计算相差分钟数
var leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
var minutes = Math.floor(leave2 / (60 * 1000))
//计算相差秒数
var leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
var seconds = Math.round(leave3 / 1000)
var newSeconds = 60 * minutes + seconds
return newSeconds;
},
2、设置倒计时
var flag = setInterval(function () {
if (queryTime > 0) {
// console.log("这里走没有" + queryTime)
queryTime--;
that.setData({
lastTime: queryTime
})
} else {
that.setData({
btnDisable: false
})
clearInterval(flag);
}
}, 1000)
3、将时间缓存到本地(小程序本地的storage退出小程序不会清除)
my.setStorage({
key: 'startTime',
data: {
startTime: timestamp
}
});