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 相关文章推荐
How to Auto Include a Javascript File
Feb 02 Javascript
jquery随机展示头像代码
Dec 21 Javascript
ECMAScript 创建自己的js类库
Nov 22 Javascript
jQuery中操控hidden、disable等无值属性的方法
Jan 06 Javascript
Javascript实现简单二级下拉菜单实例
Jun 15 Javascript
node.js中的fs.appendFile方法使用说明
Dec 17 Javascript
Vuejs第十二篇之动态组件全面解析
Sep 09 Javascript
JavaScript仿网易选项卡制作代码
Oct 06 Javascript
js获取一组日期中最近连续的天数
May 25 Javascript
微信小程序多音频播放进度条问题
Aug 28 Javascript
JavaScript制作3D旋转相册
Aug 02 Javascript
vue+iview框架实现左侧动态菜单功能的示例代码
Jul 23 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处理换行符的问题 \r\n
2013/06/13 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
PHP的文件操作与算法实现的面试题示例
2015/08/10 PHP
PHP内置加密函数详解
2016/11/20 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
2019/02/16 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
2019/08/05 PHP
详解php反序列化
2020/06/10 PHP
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
原生javascript实现图片按钮切换
2015/01/12 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
Node.js的Express框架使用上手指南
2016/03/12 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
iOS + node.js使用Socket.IO框架进行实时通信示例
2017/04/14 Javascript
jQuery条件分页 代替离线查询(附代码)
2017/08/17 jQuery
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
vue-router二级导航切换路由及高亮显示的实现方法
2019/07/10 Javascript
Vue3新特性之在Composition API中使用CSS Modules
2020/07/13 Javascript
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
Python实现连接postgresql数据库的方法分析
2017/12/27 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
Python多线程模块Threading用法示例小结
2019/11/09 Python
pytorch标签转onehot形式实例
2020/01/02 Python
Django模板标签中url使用详解(url跳转到指定页面)
2020/03/19 Python
莫斯科珠宝厂官方网站:Miuz
2020/09/19 全球购物
提拔干部考察材料
2014/05/26 职场文书
群众路线教育实践活动剖析材料
2014/09/30 职场文书
律师授权委托书范本
2014/10/07 职场文书
2014年电工工作总结
2014/11/20 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
2015重阳节座谈会主持词
2015/07/30 职场文书