vue实现WEB网页锁屏功能 ![在这里插入图片描述](https://img-blog.csdnimg.cn/725295ef7d034188b606350795a54639.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAUmFueXZpcA==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center

  • 安装MD5
  • 路由权限 配置
  • 页面解锁代码

页面锁屏功能听起来很高大,其实没Y用,摸鱼混时间倒是挺不错的。。。
创建一个 lockScreen.vue 页面 设置 router 一级路由
项目有角色权限的注意了 路由不要设置错了
当用户进入 lockScreen.vue 页面 把锁屏密码存起来
存在VueX 里面 因为也main刷新 Vuex 数据也会丢失 我们要在window.sessionStorage.setitem(“Secret”,password) 或者 window.localStorage.setitem(“Secret”,password) 也存一份
用户安全的的话 我们还是加密一下比较好 md5 加密就行 毕竟存在前端 已经无所谓了

安装MD5

npm install --save js-md5在main.js 引入
import md5 from 'js-md5';
Vue.prototype.$md5 = md5yarn 安装
yarn add md5 -s在main.js 当中 this$md5("hello word")   //这样就可以加密了,还是很方便的

路由权限 配置

router.beforeEach((to, from, next) => {  // 路由守卫 拦截 var Secret= sessionStorage.getItem('Secret') 获取当用户密码// 判断当前页面是否是 LockScreen 是直接进去if (to.matched[0] && (to.matched[0].path == "/Login" || to.matched[0].path ==  "/LockScreen")) { // 是否登录也买你 防止死循环next()} else {if (window.sessionStorage.getItem("Secret")) {  // 判断用户已经锁屏 有密码 肯定是已经锁屏了next('/LockScreen')     // 只要有密码 无论进入什么页面都跳转  “/LockScreen” 浏览器返回建也不行} else {//  这里就是一些正常角色权限判断,代码就不放了,怕乱 }}
})

到这一步 无论 用户进入什么 页面都会跳转到 “/LockScreen” 页面 刷新 返回 都回不去了 现在页面锁屏功能就已经好了
是不是很简单

页面锁屏好了 是不是还要有页面解锁功能啊。。。
直接校验 加密过后的铭文

 if (this.$md5(password) == window.sessionStorage.getItem("Secret")) {window.sessionStorage.removeItem("Secret")this.$router.push("/")window.sessionStorage.removeItem("lockScreenPath")} else {this.$message.error('锁屏密码错误!');}

但是这样好像有点问题,就是我每次接触锁屏的时候返回的都有首页,虽然功能是完成了,但是用户体验并不是很好

我从什么页面 ==> “/LockScreen” 锁屏页面 ==> 我原来的页面
我们要把 我从什么页面存起来
还是 router.beforeEach

beforeRouteEnter(to, from, next) {next(vm => {// 这里需要判断一下 是否为首页  因为页面刷新  from.path  默认为 /
如果不判断就会覆盖我们原来的路由if (from.path != "/") {window.sessionStorage.setItem("lockScreenPath", from.path)}})},

页面解锁代码

if (this.$md5(ispassword) == window.sessionStorage.getItem("Secret")) {window.sessionStorage.removeItem("Secret")if (window.sessionStorage.getItem("lockScreenPath")) {this.$router.push(window.sessionStorage.getItem("lockScreenPath"))} else {this.$router.push("/")}window.sessionStorage.removeItem("lockScreenPath")} else {this.$message.error('提示,密码错误');

Vue实现web网页锁屏功能相关推荐

  1. centos linux怎么关闭锁屏时间,【Centos】Centos7.5取消自动锁屏功能

    00. 目录 @ 01. 问题描述 Centos7.5系统在用户闲置一段时间(默认为5分钟)后,会启动屏幕保护程序(默认的屏保为黑屏),并要求重新输入密码才能回到原来桌面.如果是管理员,建议开启自动锁 ...

  2. 多御安全浏览器锁屏功能上线,详解设置浏览器锁屏的方法

    2022年8月13日,多御安全浏览器锁屏功能正式上线啦!此次最新版本android版 1.7.5增加了密码锁屏功能,旨在保护用户的隐私安全和数据安全,让隐私保护更进一步.那么这个锁屏功能在哪里,我们应 ...

  3. Vue项目中添加锁屏功能

    0. 直接上 预览链接 Vue项目中添加锁屏功能 1. 实现思路 ( 1 ) 设置锁屏密码 ( 2 ) 密码存localStorage (本项目已经封装h5的sessionStorage和localS ...

  4. 【Centos】Centos7.5取消自动锁屏功能

    00. 目录 文章目录 00. 目录 01. 问题描述 02. 问题分析 03. 解决办法 04. 附录 01. 问题描述 Centos7.5系统在用户闲置一段时间(默认为5分钟)后,会启动屏幕保护程 ...

  5. java网页截图_Java实现的简单网页截屏功能示例

    本文实例讲述了Java实现的简单网页截屏功能.分享给大家供大家参考,具体如下: package awtDemo; import java.awt.AWTException; import java.a ...

  6. oracle密码锁屏时间,Oracle Linux OEL7 如何关闭屏保和锁屏功能

    Oracle Linux OEL7 如何关闭屏保和锁屏功能 为每一个单独用户设置屏保和锁屏时间: $ gsettings set org.gnome.desktop.session idle-dela ...

  7. CentOS系统里如何正确取消或者延长屏幕保护自动锁屏功能(图文详解)

    不多说,直接上干货! 对于我这里想说的是,分别从CentOS6.X  和  CentOS7.X来谈及. 1. 问题:默认启动屏幕保护 问题描述: CentOS系统在用户闲置一段时间(默认为5分钟)后, ...

  8. Android系统永不熄屏和取消开机锁屏功能

    Android系统取消开机锁屏功能和永不熄屏 源码 frameworks/base/packages/SettingsProvider/src/com/android/providers/settin ...

  9. Android一键锁屏功能的实现

    前不久换了部新手机,因为原来用的手机原装了一键锁屏的应用,用的还习惯,新手机上没有,就想着找一个装上,后来在网上搜了下一键锁屏的实现,自己拿来改了改,安装后感觉还可以.现在分享出来. 源码: 1. M ...

最新文章

  1. 从源码和内核角度分析redis和nginx以及java NIO可以支持多大的并发
  2. (转)I,P,B帧和PTS,DTS的关系
  3. seo网站营销与内容营销不可分割
  4. Javascript自定义事件功能与用法实例分析
  5. fortran还是python_Fortran 还有存在的必要吗?
  6. deepfake 图片_DeepFake克星来了!简单2步算法,造假图像无处可逃
  7. [2021.1.13多校省选模拟2]T1(动态规划/轮廓线dp)
  8. 作为开发,你对进程和线程能否区分开来呢?
  9. 第一章 Javscript的数据类型
  10. 用C语言显示所有Ascll表
  11. 服务器的上行带宽和下行带宽是什么意思
  12. python问题 Traceback (most recent call last)
  13. 原创科幻短篇《高考》
  14. c语言点亮共阴极数码管,课程设计-基于单片机的共阴极数码管显示电路.doc
  15. php小程序餐馆点餐订餐外卖系统
  16. Windows打印管理解决方案
  17. 解决winnt.h(389): error C2059: 语法错误:“;”
  18. 51单片机 :5RET与RETI
  19. Android:展锐battery
  20. percona的安装、启动、停止

热门文章

  1. 【通信原理】PC上调试MODBUS基本功能(附报文解析)
  2. JS实现视频弹幕效果
  3. SAT作文-- 一篇优秀作文范例
  4. 火遍全球家喻户晓的小游戏——开心消消乐
  5. 爬虫基础(5) -网页解析
  6. matlab怎么产生帕斯卡矩阵,MATLAB(一):矩阵基本操作
  7. 服装检索-DeepFashion
  8. ppp服务器中断,ppp服务器断开连接
  9. 零基础零代码实现可视化报表
  10. Java毕设项目——人事管理系统(java+SSM+Maven+Mysql+Jsp)