<template><div id="app"><router-view/></div></template><script>export default {data() {return {//设置超时时间: 30分种timeOut : 30 * 60 * 1000,// timeOut : 30 * 1000,lastTimeStoreId: 'lastTime_jc'}}, methods: {// 存储当前时间setLastTime() {localStorage.setItem(this.lastTimeStoreId,new Date().getTime());},// 获取时间getLastTime() {return localStorage.getItem(this.lastTimeStoreId);},// 删除removeLastTime() {localStorage.removeItem(this.lastTimeStoreId)},checkTimeout() {// 登录页面不监听if(this.timeOut && this.$router.currentRoute.name === 'login') {this.setLastTime();}else {//更新当前时间let currentTime = new Date().getTime();let lastTime = this.getLastTime();// console.log(currentTime, lastTime, (currentTime - lastTime), this.timeOut);//判断是否超时if (currentTime - lastTime > this.timeOut) {this.$router.push('/');this.$message({ type: 'warning', message: '界面超过30分钟未操作,需重新登录' })}}},},mounted() {let that = this;// 每30秒 调用检查时间的方法this.$nextTick(function () {setInterval(this.checkTimeout, 30000);// setInterval(this.checkTimeout, 1000);})// 页面监听 按下鼠标更新操作时间window.onload = function () {window.document.onmousedown = function () {that.setLastTime();}window.document.onkeydown = function () {that.setLastTime();}};}};</script>
1200字范文,内容丰富有趣,写作的好帮手!