使用VUE做一个定时任务,每天晚上23:59分,将存储的数据清空还原;
<template>
<div class="bg">
<NavBar title="一起来收能量">
<span class="header_search" slot="left">
<img src="./../assets/back.png" width="13" height="20" align="left" @click="backReturn()">
</span>
<span class="header_login" slot="right">
<img src="./../assets/icon_share.png" align="right" height="20" width="20" @click="shareContent()">
</span>
</NavBar>
</div>
</template>
<script>
import NavBar from './NavBar'
export default {
name: 'HelloWorld',
components: {NavBar},
created () {
this.setScheduledTask(23, 59)
},
data () {
return {
timerTask: null
}
},
// destroyed () {
// clearInterval(this.timerTask)
// },
methods: {
backReturn: function () {
this.$router.go(-1)
},
// 设置定时任务,每天将保存的任务列表还原成初始值
setScheduledTask (hour, minute) {
let taskTime = new Date()
taskTime.setHours(hour)
taskTime.setMinutes(minute)
let timeDiff = taskTime.getTime() - (new Date()).getTime()
console.log('taskTime', timeDiff + ',' + (new Date()).getTime())
timeDiff = timeDiff > 0 ? timeDiff : (timeDiff + 24 * 60 * 60 * 1000)
console.log('taskTime', timeDiff)
setTimeout(this.doTimeTask, timeDiff)
},
doTimeTask () {
console.log('doTimeTask', (new Date()).getTime())
this.doSchTask()
this.timerTask = setInterval(this.doSchTask, 24 * 60 * 60 * 1000)
},
doSchTask () {
localStorage.removeItem('task')
console.log('做任务', (new Date()).getTime())
}
}
}
</script>