前端监听页面是否鼠标移动 超过一定的静止时间自动跳转到登录页面
import { CreateBuriedPoints } from '@/api/Statistics';
export const DurationStay = {
data(){
return {
currentTime:"",
DurationOfStay: 5*60*1000, //自定义的无操作时长5分钟
intervalTime:0
}
},
mounted(){
// console.log('test 鼠标');
this.currentTime = new Date().getTime();
this.checkouttime();
document.addEventListener("keydown",this.resetStartTime);
document.addEventListener('mousemove',this.resetStartTime);
},
beforeDestroy(){
//离开页面要销毁事件,否则会影响跳转的下个页面
document.removeEventListener("keydown",this.resetStartTime);
document.removeEventListener("mousemove",this.resetStartTime);
if(this.intervalTime){
clearInterval(this.intervalTime);
}
},
methods:{
resetStartTime(){
console.log('鼠标操作,重置当前时间');
this.currentTime = new Date().getTime();
},
checkouttime(){
this.intervalTime= setInterval(()=>{
let nowtime = new Date().getTime();
if(nowtime - this.currentTime > this.DurationOfStay){
// alert("页面停留太长,点击“刷新一下”获取最新价格和库存。")
// 主动跳转到登录页面
this.$store.dispatch('group/setPreShowEquipment', []);
this.$store.dispatch('group/setReviewEquipment', []);
this.$store.dispatch('settings/changeTripartitleModule_picked', []);
CreateBuriedPoints('RCM', '切换用户', '', 'L_CLICK', '', 'Y', 'N');
setTimeout(() => {
this.$store.dispatch('user/resetToken').then(() => {
if (this.electron.status) {
this.electron.KVMService.destroyAll(); // 销毁所有KVM
this.electron.closeAllChildWindow();
this.electron.resizeWindow(800, 500);
this.electron.resizable(false);
this.$router.replace('/login');
// 关闭聊天窗体;
if (this.electron.centUserToChatWin) {
this.electron.centUserToChatWin('execClose');
}
} else {
location.reload();
}
});
}, 100);
return false;
}
},10000);
}
}
}
封装js组件,
使用租价 全局混入
导入 组件
import { DurationStay } from '@/utils/DurationStay'
通过混入使用组件:
mixins: [commonMixins,DurationStay],
浙公网安备 33010602011771号