问题描述产品说为了安全起见,如果用户长时间不操作,返回到登录页面并允许用户再次登录,就像银行应用程序一样。本文记录实现这种效果的两种方式,分别是前端控制和后端控制,各有各的细节和适用的使用场景。其实就是事件是否长时间没有触发。比如用户长时间不操作,不会有鼠标点击(click)事件、鼠标滚轮(mousewheel)事件、鼠标移动(mousemove)事件等,我们只需要监听这些事件即可。如果长时间没有触发这些事件,说明用户已经很久没有操作了,然后路由跳转到登录页面。这三个事件我都选择了比较实用的鼠标点击事件。我们知道一般项目的第一页都是登录页面,所以当用户在登录页面点击登录按钮时,记录下登录按钮被点击的时间,保存在sessionstorage中,当跳转到主页面时,每次用户点击页面时,sessionstorage中存储的时间都会更新,页面上也会绑定一个循环定时器,将当前时间与sessionstorage中存储的最后一次点击事件的时间进行比较。当差异超过一定时间时,用户将被强制退出登录页面。代码login.vue页面//html