发送成功后开始倒计时,并把时间存入cookie,这样用户刷新页面倒计时依然存在:
setCookie('sendtime',parseInt(new Date().getTime()/1000));
self.timer = 59;
var auth_timer = setInterval(() => {
self.timer = 59-(parseInt(new Date().getTime()/1000)-getCookie('sendtime'));
if (self.timer <= 0) {
clearInterval(auth_timer)
}
}, 1000);
页面打开自动执行以下代码,如果还有未结束的倒计时,则自动开始计时:
if (getCookie('sendtime') && parseInt(new Date().getTime()/1000)-getCookie('sendtime')<60) {
self.timer = 59-(parseInt(new Date().getTime()/1000)-getCookie('sendtime'));
var auth_timer = setInterval(() => {
self.timer = 59-(parseInt(new Date().getTime()/1000)-getCookie('sendtime'));
if (this.timer <= 0) {
clearInterval(auth_timer)
}
}, 1000);
}
用到的cookie函数:
function setCookie(name, value,domain='',day=1) {
var date = new Date();
date.setTime(date.getTime()+1000*60*60*24*day);
document.cookie = name+'='+value+';expires='+date+';domain='+domain+';path=/';
}
//获取cookie
function getCookie(name){
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return decodeURIComponent(arr[2]);
return null;
}