Vue 登录 记住密码,设置存储时间
Vue 登录 记住密码,设置存储时间
- 一、手动存储
- login.vue
- 二、使用vue-cookies插件
- main.js
- login.vue
一、手动存储
login.vue
提示:
// 设置cookie方法
setCookie(loginName, password, days) {let text = encryptDes(password, '@des123')//使用des方法加密,秘钥‘@des123’let saveDays = new Date() //获取时间saveDays.setTime(saveDays.getTime() + 24 * 60 * 60 * 1000 * days) //保存的天数// 字符串拼接存入cookiewindow.document.cookie = 'loginName' + '=' + loginName + ';path=/;saveDays=' + saveDays.toGMTString()window.document.cookie = 'password' + '=' + text + ';path=/;saveDays=' + saveDays.toGMTString()
},
// 读取cookie
getCookie() {if (document.cookie.length > 0) {let arr = document.cookie.split('; ') // 这里显示的格式需要切割一下自己可输出看下for (let i = 0; i < arr.length; i++) {let arr2 = arr[i].split('=') // 再次切割// 这里会切割出以loginName为第0项的数组、以password为第0项的数组,判断查找相对应的值if (arr2[0] == 'loginName') {this.loginForm.loginName = arr2[1] // 拿到账号} else if (arr2[0] == 'password') {// 拿到拿到加密后的密码arr2[1]并解密let bytes = decryptDes(arr2[1].toString(), '@des123')// let plaintext = bytes.toString(CryptoJS.enc.Utf8); // 拿到解密后的密码(登录时输入的密码)// this.loginForm.password = plaintext;this.loginForm.password = bytes}}}
},
// 清除cookie
clearCookie() {this.setCookie('', '', 0) //账号密码置空,天数置0
},
二、使用vue-cookies插件
main.js
// coolie存储
import VueCookies from 'vue-cookies'
Vue.use(VueCookies)
login.vue
if (this.isRememberPwd === true) { // 传入账号,密码,保存天数this.setLocal(this.loginName, this.password)
} else { // 清除cookiethis.removeLocal()
}// 设置cookies
setLocal(loginName, password) {let text = encryptDes(password, '@des123')//使用des方法加密,秘钥‘@des123’const days = '60 * 60 * 24 * 7' // 60秒*60分*24小时*7天this.$cookies.set('loginName', loginName, days)this.$cookies.set('password', text, days)
},
// 读取cookies
getLocal() {if (this.$cookies.get("loginName"))this.loginName = this.$cookies.get("loginName") // 拿到账号if (this.$cookies.get("password"))this.password = decryptDes(this.$cookies.get("password"), '@des123') // 拿到密码
},
// 清除cookie
removeLocal() {this.$cookies.remove("loginName")this.$cookies.remove("password")
},
相关文章:
Vue 登录 记住密码,设置存储时间
Vue 登录 记住密码,设置存储时间 一、手动存储login.vue 二、使用vue-cookies插件main.jslogin.vue 一、手动存储 login.vue 提示: // 设置cookie方法 setCookie(loginName, password, days) {let text encryptDes(password, des123)//使用des方法加…...
C++ 学习笔记(三)—— 入门+类和对象
1、内联函数(inline) 内联函数主要是解决C语言的宏的缺陷提出来的; 宏的缺陷: 1)容易出错,语法坑很多; 2)不能调试; 3)没有类型安全的检查; 宏的…...
KVM安全模块生产环境配置与优化指南
KVM安全模块生产环境配置与优化指南 一、引言 在当今复杂多变的网络安全环境下,生产环境中KVM(Kernel-based Virtual Machine)的安全配置显得尤为重要。本指南旨在详细阐述KVM安全模块的配置方法,结合强制访问控制(M…...
基于 SSE 和 WebSocket 的在线文本实时传输工具
简介 在线文本实时传输工具支持 SSE(Server-Sent Events) 和 WebSocket,可在不同设备间快速共享和同步文本,适用于跨设备协作、远程办公和即时通讯。 核心功能 实时同步:文本输入后,另一端用户可立即看到…...
数图亮相第三届全国生鲜创新峰会,赋能生鲜零售数字化转型
2025年3月15-18日,第三届全国生鲜创新峰会在湖北宜昌召开,主题为“生鲜破局,重塑价值”。峰会汇聚行业专家、企业领袖及精英,探讨生鲜零售新机遇与挑战。作为领先的“智慧零售”服务商,数图信息科技受邀出席࿰…...
go 安装swagger
1、依赖安装: # 安装 swag 命令行工具 go install github.com/swaggo/swag/cmd/swaglatest# 安装 gin-swagger 和 swagger 文件的依赖 go get -u github.com/swaggo/gin-swagger go get -u github.com/swaggo/files 2、测试 cmd中输入: swag -v 3、…...
CH347使用笔记:CH347结合STM32CubeIDE实现单片机下载与调试
目录 基于 STM32CubeIDE的 CH347 JTAG/SWD调试器使用说明1. CH347驱动安装与配置2. STM32CubeIDE调试器配置2.1 打开相关工程后,进行以下操作2.2 openocd.exe替换2.3 脚本添加2.4 更改调试器选择 3. 下载程序4. 使用过程中可能遇到的问题4.1 CH347未插入4.2 Openocd…...
从C语言开始的C++编程生活(1)
前言 本系列文章承接C语言的学习,需要有C语言的基础才能学会哦。 第1篇主要讲的是有关于C的命名空间、输入和输出。 C才起步,都很简单呢! 目录 前言 命名空间namespace 基本语法 作用 使用命名空间 域作用限定符 :: 基本语法 using n…...
Python F-String 深度解析:原理、用法与最佳实践
# Python F-String 深度解析:原理、用法与最佳实践 ## 一、引言 Python 的 F-String(格式化字符串字面值)自 3.6 版本引入以来,凭借其简洁性和高效性,迅速成为字符串格式化的首选方案。本文将从原理、核心用法和编码规…...
智能家居分享
因为最近沉迷智能家居,所以来给大家分享一些轻松改变生活体验的小家具 1: 智能门锁 出门忘记带钥匙是许多人都遇到过的尴尬事,智能门锁的出现完美解决了这个困扰。智能门锁采用指纹识别、密码、刷卡、手机等多种开锁方式,大大增…...
20. Excel 自动化:Excel 对象模型
一 Excel 对象模型是什么 Excel对象模型是Excel图形用户界面的层次结构表示,它允许开发者通过编程来操作Excel的各种组件,如工作簿、工作表、单元格等。 xlwings 是一个Python库,它允许Python脚本与Excel进行交互。与一些其他Python库&#x…...
解决uni-app授权弹框华为审核拒绝
背景: 在使用定位、相机、文件、电话,需要用户同意授权时,华为和vivo需要告知用户使用权限目的。 方案: 在uni授权时,弹框告诉授权目的,效果如下: 代码: const perListener {//…...
施耐德PLC仿真软件Modbus tcp通讯测试
安装仿真软件:EcoStruxure™ Control Expert - PLC 仿真器 下载地址:https://www.schneider-electric.cn/zh/download/document/EIO0000001719/ 配置CPU: 切换至仿真模式,系统托盘中出现仿真器图标 新建变量test,地址…...
软考 中级软件设计师 考点知识点笔记总结 day05
文章目录 4、栈和队列4.1、栈的定义4.2、队列定义 5、串、数组、矩阵和广义表5.1、串5.2、 数组5.3、稀疏矩阵5.4、广义表 4、栈和队列 4.1、栈的定义 线性表是具有相同数据类型的n个数据元素的有限序列, n为表厂。n0时 线性表是一个空表 L (a1,a2,a3…...
1.排序算法(学习自用)
1.冒泡排序 算法步骤 相邻的元素之间对比,每次早出最大值或最小值放到最后或前面,所以形象的称为冒泡。 特点 n个数排序则进行n轮,每轮比较n-i次。所以时间复杂度为O(n^2),空间复杂度为O(1),该排序算法稳定。 代码…...
vs2017版本与arcgis10.1的ArcObject SDK for .NET兼容配置终结解决方案
因电脑用的arcgis10.1,之前安装的vs2010正常能使用AO和AE,安装vs2017后无法使用了,在重新按照新版本arcgis engine或者arcObject费时费力,还需要重新查找资源。 用vs2017与arc10.1的集成主要两个问题,1:安装后vs中没有…...
基于yolo11+flask打造一个精美登录界面和检测系统
这个是使用flask实现好看登录界面和友好的检测界面实现yolov11推理和展示,代码仅仅有2个html文件和一个python文件,真正做到了用最简洁的代码实现复杂功能。 测试通过环境: windows x64 anaconda3python3.8 ultralytics8.3.81 flask1.1.…...
用 Vue 3.5 TypeScript 重新开发3年前甘特图的核心组件
回顾 3年前曾经用 Vue 2.0 开发了一个甘特图组件,如今3年过去了,计划使用Vue 3.5 TypeScript 把组件重新开发,有机会的话再开发一个React版本。 关于之前的组件以前文章 Vue 2.0 甘特图组件 下面录屏是是 用 Vue 3.5 TypeScript 开发的目前…...
深入解析 SQL 事务:确保数据一致性的关键
SQL 事务 什么是 SQL 事务?事务的 ACID 特性原子性(Atomicity):示例: 一致性(Consistency):示例: 隔离性(Isolation):持久性(Durability):示例&am…...
复习JVM
JVM的三个主要主题: 1.java内存区域划分: a. 堆 b. 栈 c. 元数据区 d. 程序计数器 2. 类加载 a. 加载: 打开.class文件, 读取内容 b. 验证: 验证.class文件的格式是否符合要求. c. 准备: 给类对象分配内存空间 d. 解析: 初始化字符串常量 e. 初始化: 对类对象中的各个…...
C++程序设计语言笔记——抽象机制:元编程
0 使用元编程提高类型安全。 使用元编程提升类型安全的核心在于通过代码生成、编译时检查或类型约束自动化来减少运行时错误。以下分不同编程范式详细说明实现方案: 一、静态类型语言的编译期约束(以C为例) template<typename T> cl…...
基于STM32的火灾报警设备(阿里云平台)
目录 前言: 一、项目介绍和演示视频 二、硬件需求准备 三、硬件框图 1. 原理图 2. PCB 四、CubeMX配置 五、代码框架 前言: 源代码下载链接: https://download.csdn.net/download/m0_74712453/90474701 需要实物的可以私信博主或者…...
用uv管理python环境/项目(各种应用场景)
一、安装uv 有python的情况 pip install uvWindows powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"linux或macOS curl -LsSf https://astral.sh/uv/install.sh | sh二、换镜像源 uv不会读取pip的镜像源配置,所…...
java面试题之多线程
java面试题之多线程 什么是线程?什么是线程安全和线程不安全?什么是⾃旋锁?什么是CAS?什么是乐观锁和悲观锁?什么是AQS?什么是原⼦操作?在Java Concurrency API中有哪些原⼦类(atomic classes)&…...
FPGA-流水灯
Quartus中使用Verilog实现 根据之前所学内容,打开Quartus 软件,新建FPGA项目文件,建立好空项目过后,选择Verilog HDL File,因为我们要使用Verilog代码实现仿真。 详细操作可参考往期博客: FPGA 实验报告&a…...
browser-use WebUI + DeepSeek 基于AI的UI自动化解决方案
browser-use WebUI 一、browser-use是什么Browser-use采用的技术栈为: 二、browser-use webui 主要功能使用场景 三、使用教程1.python 安装2、把项目clone下来3、安装依赖4、配置环境5、启动6、配置1.配置 Agent2.配置要用的大模型3.关于浏览器的一些设置 四、Deep…...
51单片机和STM32 入门分析
51单片机和STM32是嵌入式开发中两种主流的微控制器,它们在架构、性能、应用场景等方面存在显著差异。以下是两者的对比分析及选择建议: 1. 51单片机与STM32的定义与特点 51单片机 定义:基于Intel 8051内核的8位微控制器,结构简单…...
什么是YApi?开源接口管理平台部署教程
YApi 到底是个啥? 各位小伙伴们好呀!今天要给大家介绍的是一款超级好用的接口管理神器——YApi!它是一个高效、易用、功能强大的 API 管理平台,简直就是开发、产品、测试人员的福音啊!!!它能帮…...
golang-struct结构体
struct结构体 概述 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。 结构体是 Golang 中一种复合类型,它是由一组具有相同或不同类型的数据字段组成的数据结构。 结构体是一种用户自定义类型,它可…...
深入理解事务
在数据库管理中,事务是一个至关重要的概念。无论是金融交易、库存管理还是用户数据更新,事务都确保了数据的完整性和一致性。本文将详细介绍为什么需要事务、什么是事务、事务的四大特征、如何在MySQL中使用事务以及MyBatis对事务的配置。 一、为什么需…...
