我们这回使用纯前端保存密码

既然是记住密码,前端也就是使用cookie保存,访问时用cookie读取

先来了解下cookie的基本使用吧

Cookie

所有的cookie信息都在document.cookie中存放着,是一个字符串,里面的cookie以分号和空格分隔。就像这样:

	"key1=value1; key2=value2; key3=value3"
// 使用document.cookie 来获取所有cookie
docuemnt.cookie = "id="+value

操作cookie

/**
* 设置cookie值
*
* @param {String} name cookie名称
* @param {String} value cookie值
* @param {Number} expiredays 过期时间,天数
*/
function setCookie (name, value, expiredays) {
let exdate = new Date()
//setDate获取N天后的日期
exdate.setDate(exdate.getDate() + expiredays) //getDate() 获取当前月份的日 + 过期天数
document.cookie =name+"="+encodeURI(value)+";path=/;expires="+exdate.toLocaleString()
}
/**
* 获取cookie值
* @param {String} name cookie名称
*/
function getCookie (name) {
var arr = document.cookie.split(";") //转换数组
//["_ga=GA1.1.1756734561.1561034020", " mobile=123" password=456"]
for(var i=0;i<arr.length;i++){
var arr2 = arr[i].split('='); // ["_ga", "GA1.1.1756734561.1561034020"]
if(arr2[0].trim() == name){
return arr2[1]
}
}
}
/**
* 删除指定cookie值
* @param {String} name cookie名称
*/
function clearCookie (name) {
setCookie(name, '', -1)
}
/**
* 浏览器是否支持本地cookie
*/
function isSupportLocalCookie () {
let {name, value} = {name: 'name', value: 'mingze'}
setCookie(name, value, 1) //设置cookie
return getCookie(name).includes(value) //includes 判断数组name中是否含有当前value(返回true or false)
}

好了了解了cookie我们开始如何实现一个简单的记住密码功能

HTML代码

<el-form :model="ruleForm" :rules="rules"
status-icon
ref="ruleForm"
label-position="left"
label-width="0px"
class="demo-ruleForm login-page">
<h3 class="title">系统登录</h3>
<el-form-item prop="username">
<el-input type="text"
v-model="ruleForm2.username"
auto-complete="off"
placeholder="用户名"
></el-input>
</el-form-item>
<el-form-item prop="password">
<el-input type="password"
v-model="ruleForm2.password"
auto-complete="off"
placeholder="密码"
></el-input>
</el-form-item>
<el-checkbox v-model="checked" style="color:#a0a0a0;margin:0 0 20px 0">记住密码</el-checkbox>
<el-form-item style="width:100%;">
<el-button type="primary" style="width:100%;" @click="handleSubmit" :loading="logining">登录 </el-button>
</el-form-item>
</el-form>

vue代码


data(){
return {
logining: false,
checked: true
ruleForm: {
username: '',
password: '',
},
rules: {
username: [{required: true, message: '请输入您的帐户', trigger: 'blur'}],
password: [{required: true, message: '请输入您的密码', trigger: 'blur'}]
},
}
},
mounted() {
this.account() //获取cookie的方法
},
account(){
if(document.cookie.length <= 0){
console.log(this.getCookie('mobile'))
this.ruleForm.username = this.getCookie('mobile')
this.ruleForm.password = this.getCookie('password')
}
},
setCookie(c_name,c_pwd,exdate){ //账号,密码 ,过期的天数
var exdate = new Date()
console.log(c_name,c_pwd)
exdate.setTime(exdate.getTime() + 24 * 60 * 60 * 1000 * exdate) //保存的天数
document.cookie ="mobile="+c_name+";path=/;expires="+exdate.toLocaleString()
document.cookie ="password="+c_pwd+";path=/;expires="+exdate.toLocaleString()
},
getCookie(name){
var arr = document.cookie.split(";")
//["_ga=GA1.1.1756734561.1561034020", " mobile=123" password=456"]
for(var i=0;i<arr.length;i++){
var arr2 = arr[i].split('='); // ["_ga", "GA1.1.1756734561.1561034020"]
if(arr2[0].trim() == name){
return arr2[1]
}
}
},
clearCookie(){
this.setCookie("","",-1) //清除cookie
},
handleSubmit(){ //提交登录
this.$refs.ruleForm.validate((valid) => {
if(valid){
this.logining = true;
var _this = this;
if(_this.checked == true){
//存入cookie
_this.setCookie(_this.ruleForm.username,_this.ruleForm.password,7) //保存7天
}else{
_this.clearCookie();
}
Login({
mobile:_this.ruleForm.username,
password:_this.ruleForm.password
}).then((result) => {
console.log(result)
_this.$alert('登陆成功')
})
}
}

好了,这回的记住密码就到这里,小伙伴们一起努力吧 ^ 0 ^

总结

到此这篇关于前端vue+elementUI如何实现记住密码功能的文章就介绍到这了,更多相关vue+elementUI记住密码内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

前端vue+elementUI如何实现记住密码功能的更多相关文章

  1. vue项目实现记住密码功能

     一.谷歌浏览的残留问题 现在很多的网站都有一个需求是记住密码这个功能,为的是避免用户下次登录的时候繁琐的输入过程. 像是一些主流的浏览器(比如Chrome)都有了这个功能,而且如果你登录了Chrom ...

  2. js中记住密码功能

    js中记住密码功能(在前端实现) 直接上例子(如果你也要实现的话注意改一些变量名称,jsp代码不包含样式) Jsp代码: <form class="am-form tpl-form-l ...

  3. cookie实现记住密码功能

    之前在一次面试过程中,被问到前后端如何实现记住密码功能,所以自己也试着做,这是纯js做的. 一.实现思路 1.前端页面,自己简单写了一个页面,如下图,不喜勿喷 2.主要有三个函数 setCookie( ...

  4. JavaScript实现记住密码功能

    用js实现记住密码功能,但是前端记住密码不安全,最好还是不要用.我感觉这个记住密码应该是通过与后台建立一个会话来实现. 这个效果的测试地址在:http://ofoyou.com/blog/rePass ...

  5. java实现记住密码功能(利用cookie)

    <br> <input type="text" id="userName" name="userName" value=& ...

  6. 通过sharedpreferences实现记住密码功能

    通过sharedpreferences实现记住密码功能

  7. jquery.cookie.js 操作cookie实现记住密码功能的实现代码

    jquery.cookie.js操作cookie实现记住密码功能,很简单很强大,喜欢的朋友可以参考下.   复制代码代码如下: //初始化页面时验证是否记住了密码 $(document).ready( ...

  8. cookie记住密码功能

    很多门户网站都提供了记住密码功能,虽然现在的浏览器都已经提供了相应的记住密码功能 效果就是你每次进入登录页面后就不需要再进行用户名和密码的输入: 记住密码功能基本都是使用cookie来进行实现的,因此 ...

  9. 【原创】js中利用cookie实现记住密码功能

    在登录界面添加记住密码功能,我首先想到的是在java后台中调用cookie存放账号密码,大致如下: HttpServletRequest request HttpServletResponse res ...

  10. android: SharedPreferences实现记住密码功能

    既然是实现记住密码的功能,那么我们就不需要从头去写了,因为在上一章中的最佳实 践部分已经编写过一个登录界面了,有可以重用的代码为什么不用呢?那就首先打开 BroadcastBestPractice 项 ...

随机推荐

  1. 机器学习可解释性--shapvalue

    A Unified Approach to Interpreting Model Predictions trusting a prediction or trusting a model 如果⼀个机 ...

  2. C/C++ 的 指针/引用 传参

    #include <stdio.h> //指针传值 void addOne(int *a) { printf("%8p\n",a); *a = *a+1; } //引用 ...

  3. Linux操作系统不同文件类型区别?

    蓝色代表目录,绿色代表可执行文件,红色代表压缩文件.浅蓝色表示连接文件.白色表示其他文件 相关目录及作用: Bin : 存放普通用户可执行的指令 Boot: 开机引导目录 Dev:设备目录 Etc: ...

  4. 安卓插耳机也外放扬声器播放音频的java代码

    最近遇到一个如何在耳机插入的情况下任然用扬声器播放音频的问题. 用搜索引擎找了一些网上的demo(案例) .发现按照他们的方法成功实现. 插入耳机的时候也可以选择使用扬声器播放音乐,来电铃声就是这么用 ...

  5. 万字博文让我们携手一起走进bs4的世界【python Beautifulsoup】bs4入门 find()与find_all()

    目录 Beautiful Soup BeautifulSoup类的基本元素 1.Tag的name 2.Tag的attrs(属性) 3.Tag的NavigableString 二.遍历文档树 下行遍历 ...

  6. 来也科技收购Mindsay背后:新旧势力交锋智能自动化备受关注

    来也科技收购Mindsay背后:新旧势力交锋智能自动化备受关注 来也科技收购Mindsay背后:历程一波三折,意义非同寻常 来也科技收购Mindsay,国产RPA正式进军国际市场 收购Mindsay来 ...

  7. Scyther 协议形式化验证翻译 (第二章)

    论文概述:$\alpha +\forall (\sum \oint_{3}^{4})$ 第二章:  操作语义 在第二章中我提出了一种新的安全协议的模型,用于定义安全协议以及协议的行为,在明确的模型中执 ...

  8. PDF/Excel文件预览功能完整实现-java版本

    新需求 最近接到一个新的需求,说是之前直接下载的PDF文件或者是Excel文件,现在不能直接下载,需要实现在线预览功能. 前端人员拿到这个需求后,去看了一下以前的代码,以前调用的下载接口和PDF文件预 ...

  9. Proxmark3入门指南

    Proxmark3笔记 --Proxmark3完全入门指南 写在前面 这里所有针对扇区.区块的计数都是从0开始算 一些需要知道的知识 为了能看懂笔记,需要能回答以下问题 ID卡和IC卡主要的区别是什么 ...

  10. FreeRTOS教程4 消息队列

    1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) Keil µVision5 IDE(MDK-Arm) 野火DAP仿真器 XCO ...