vue项目实现记住密码到cookie功能示例(附源码)


Posted in Javascript onJanuary 31, 2018

本文介绍了vue项目实现记住密码到cookie功能示例,分享给大家,具体如下:

vue项目实现记住密码到cookie功能示例(附源码)

登陆页面

实现功能:

1.记住密码勾选,点登陆时,将账号和密码保存到cookie,下次登陆自动显示到表单内
2.不勾选,点登陆时候则清空之前保存到cookie的值,下次登陆需要手动输入

大体思路就是通过存/取/删cookie实现的;每次进入登录页,先去读取cookie,如果浏览器的cookie中有账号信息,就自动填充到登录框中,存cookie是在登录成功之后,判断当前用户是否勾选了记住密码,如果勾选了,则把账号信息存到cookie当中,效果图如上:

直接上主要的代码

HTML部分

<div class="ms-login">
    <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="0px" class="demo-ruleForm">
      <el-form-item prop="username">
        <el-input v-model="ruleForm.username" placeholder="用户名"></el-input>
      </el-form-item>
      <el-form-item prop="password">
        <el-input type="password" placeholder="密码" v-model="ruleForm.password" @keyup.enter.native="submitForm('ruleForm')"></el-input>
      </el-form-item>
      <!-- `checked` 为 true 或 false -->
      <el-checkbox v-model="checked">记住密码</el-checkbox>
      <br>
      <br>
      <div class="login-btn">
        <el-button type="primary" @click="submitForm('ruleForm')">登录</el-button>
      </div>
    </el-form>
  </div>

JS部分

//页面加载调用获取cookie值
  mounted() {
    this.getCookie();
  },
  methods: {
    submitForm(formName) {
             const self = this;
            //判断复选框是否被勾选 勾选则调用配置cookie方法
            if (self.checked == true) {
              console.log("checked == true");
              //传入账号名,密码,和保存天数3个参数
              self.setCookie(self.ruleForm.username, self.ruleForm.password, 7);
            }else {
             console.log("清空Cookie");
             //清空Cookie
             self.clearCookie();
            }
            
            //与后端请求代码,本功能不需要与后台交互所以省略
            
            console.log("登陆成功");
         
        });
      },
      //设置cookie
      setCookie(c_name, c_pwd, exdays) {
        var exdate = new Date(); //获取时间
        exdate.setTime(exdate.getTime() + 24 * 60 * 60 * 1000 * exdays); //保存的天数
        //字符串拼接cookie
        window.document.cookie = "userName" + "=" + c_name + ";path=/;expires=" + exdate.toGMTString();
        window.document.cookie = "userPwd" + "=" + c_pwd + ";path=/;expires=" + exdate.toGMTString();
      },
      //读取cookie
      getCookie: function() {
        if (document.cookie.length > 0) {
          var arr = document.cookie.split('; '); //这里显示的格式需要切割一下自己可输出看下
          for (var i = 0; i < arr.length; i++) {
            var arr2 = arr[i].split('='); //再次切割
            //判断查找相对应的值
            if (arr2[0] == 'userName') {
              this.ruleForm.username = arr2[1]; //保存到保存数据的地方
            } else if (arr2[0] == 'userPwd') {
              this.ruleForm.password = arr2[1];
            }
          }
        }
      },
      //清除cookie
      clearCookie: function() {
        this.setCookie("", "", -1); //修改2值都为空,天数为负1天就好了
      }

浏览器中的cookie信息如下图,注意这里的cookie的expire/Max-Age过期时间,这个时间是格林尼治标准时间GMT,世界统一的时间,GMT+8小时就是北京时间。(这里不做加密功能)

vue项目实现记住密码到cookie功能示例(附源码)

源码链接 vue项目实现表单登录页保存账号和密码到cookie功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 设计模式之单体模式 面向对象学习基础
Apr 18 Javascript
Jquery ThickBox插件使用心得(不建议使用)
Sep 08 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
May 23 Javascript
jquery单行文字向上滚动效果示例
Mar 06 Javascript
jquery插件bxslider用法实例分析
Apr 16 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
Mar 04 Javascript
JS检测移动端横竖屏的代码
May 30 Javascript
AngularJS 输入验证详解及实例代码
Jul 28 Javascript
node全局变量__dirname与__filename的区别
Jan 14 Javascript
Vue组件教程之Toast(Vue.extend 方式)详解
Jan 27 Javascript
使用js实现一个简单的滚动条过程解析
Sep 10 Javascript
VueX模块的具体使用(小白教程)
Jun 05 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
Jan 31 #Javascript
微信小程序progress组件使用详解
Jan 31 #Javascript
微信小程序button组件使用详解
Jan 31 #Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
Jan 31 #Javascript
微信小程序模板(template)使用详解
Jan 31 #Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
Jan 31 #Javascript
js保留两位小数方法总结
Jan 31 #Javascript
You might like
配置PHP使之能同时支持GIF和JPEG
2006/10/09 PHP
PHP setcookie() cannot modify header information 的解决方法
2009/01/09 PHP
JavaScript中的作用域链和闭包
2012/06/30 Javascript
js跑马灯代码(自写)
2013/04/17 Javascript
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
2015/07/27 Javascript
jQuery制作图片旋转效果
2017/02/02 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
vue webuploader 文件上传组件开发
2017/09/23 Javascript
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
element-ui table组件如何使用render属性的实现
2019/11/04 Javascript
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
[49:21]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第二场 11.05
2020/11/06 DOTA
[01:03:18]DOTA2-DPC中国联赛 正赛 RNG vs Dynasty BO3 第一场 1月29日
2021/03/11 DOTA
Python列表(list)、字典(dict)、字符串(string)基本操作小结
2014/11/28 Python
Python字符串特性及常用字符串方法的简单笔记
2016/01/04 Python
Python中operator模块的操作符使用示例总结
2016/06/28 Python
python机器学习库常用汇总
2017/11/15 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
对numpy中shape的深入理解
2018/06/15 Python
Python中url标签使用知识点总结
2020/01/16 Python
Python如何定义有可选参数的元类
2020/07/31 Python
python 多线程爬取壁纸网站的示例
2021/02/20 Python
采用专利算法搜索最廉价的机票:CheapAir
2016/09/10 全球购物
美特斯邦威官方商城:邦购网
2016/10/13 全球购物
校长就职演讲稿
2014/01/06 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
幼儿园教师自我鉴定
2014/03/20 职场文书
2014年小学重阳节活动策划方案
2014/09/16 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
个人整改方案范文
2014/10/25 职场文书
2015年教研室工作总结范文
2015/05/23 职场文书
退休欢送会主持词
2015/07/01 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
感谢信的技巧及范例
2019/05/15 职场文书
Python实现对齐打印 format函数的用法
2022/04/28 Python