Closed sailei1 closed 5 years ago
import TimerCountDown from '../../plugins/timer-countdown.js'; resetTimeCountDown(){ var vm = this; if (timerCountDown) { timerCountDown.destroy(); } timerCountDown = new TimerCountDown(vm.activeStatusTime); vm.isTimeDownHide = false; timerCountDown.on(TimerCountDown.EVENT_STAOP, () => { let a = vm.activeStatusIndex + 1; if (a < vm.itemInfoStatusSchedule.length) { vm.activeStatusTime=0; setTimeout(() => { // vm.activeStatusTime = vm.itemInfoStatusSchedule[a].countdown; vm.activeStatusTime = parseInt((vm.itemInfoStatusSchedule[a].startTime * 1000 - (new Date().getTime()) - vm.diff)/1000); vm.activeStatusName = vm.itemInfoStatusSchedule[a].timedStatusName; vm.activeStatusIndex = a; vm.itemInfoStatus = vm.itemInfoStatusSchedule[a]; //更新状态 vm.itemStatus = vm.itemInfoStatusSchedule[a - 1].timedStatus; //console.log('status:'+vm.itemStatus +' detailButtonShow: '+vm.detailButtonShow); }, 1000) } else { vm.isTimeDownHide = true; vm.itemStatus = vm.itemInfoStatusSchedule[vm.itemInfoStatusSchedule.length-1].timedStatus; // console.log('status:'+vm.itemStatus +' detailButtonShow: '+vm.detailButtonShow); } timerCountDown.destroy(); }); timerCountDown.on(TimerCountDown.EVENT_LOOP, () => { let time = timerCountDown.getMs() / 1000; this.activeStatusTime = time; }); timerCountDown.run(); // window.timerCountDown=timerCountDown; }, resetCountDown() { var vm = this; let activeIndex = vm.activeStatusIndex, Schedule = this.itemInfoStatusSchedule[activeIndex] var serverTime = (Schedule.startTime - Schedule.countdown) * 1000, countdown = Schedule.startTime * 1000 - (new Date().getTime()) - vm.diff; countdown = parseInt(countdown / 1000); vm.activeStatusTime = countdown; //更正 // console.log('countdown',countdown,serverTime , (new Date().getTime()) , vm.diff); vm.resetTimeCountDown(); }, sleepCheck() { //检查手机休眠 //https://stackoverflow.com/questions/6543325/what-happens-to-javascript-execution-settimeout-etc-when-iphone-android-goes let vm = this; var now = new Date().getTime(); this.nowTime = new Date().getSeconds(); var diff = now - vm.lastCheckTime; // console.log('diff',diff); if (diff > 2000) { vm.resetCountDown(); //this.$router.go(0); //window.location.replace(window.location.href); // alert('took ' + diff + 'ms diffTime:'+ vm.diff); } vm.lastCheckTime = now; },