在app.vue页面中是使用
<template>
<div id="app" @click="clicked">
<router-view v-if="isRouterAlive"></router-view>
</div>
</template>
data() {
return {
/** 控制视图是否显示的变量 */
isRouterAlive: true,
lastClickTime: new Date().getTime(), // 最后一次点击的时间
nowTime: new Date().getTime(), //当前时间
CheckOut:60 * 120 * 1000,
t1: ''
};
},
mounted() {
this.t1 = setInterval(this.tTime, 1000);
},
methods: {
clicked() {
this.lastClickTime = new Date().getTime() //当界面被点击更新点击时间
console.log(this.lastClickTime)
},
tTime() {
this.nowTime = new Date().getTime();
if (this.nowTime - this.lastClickTime > this.CheckOut) {
if (localStorage.getItem('loginId') == undefined) {
this.lastClickTime = new Date().getTime();
} else {
this.$alert('登录超时,请重新登录', '提示', {
confirmButtonText: '确定',
callback: action => {
console.log('现在可以退出了')
}
});
}
}
},