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模拟select,jselect的方法实现
Nov 08 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
Jun 27 Javascript
javascript组合使用构造函数模式和原型模式实例
Jun 04 Javascript
JavaScript中的lastIndexOf()方法使用详解
Jun 06 Javascript
Javascript实现单例模式
Jan 24 Javascript
javascript的document中的动态添加标签实现方法
Oct 24 Javascript
微信小程序 Nginx环境配置详细介绍
Feb 14 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
Oct 17 Javascript
JS调用安卓手机摄像头扫描二维码
Oct 16 Javascript
react+redux仿微信聊天界面
Jun 21 Javascript
JavaScript位置参数实现原理及过程解析
Sep 14 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
Feb 04 jQuery
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+mysql)
2007/11/23 PHP
php目录管理函数小结
2008/09/10 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
PHP callback函数使用方法和注意事项
2015/01/23 PHP
分享我对JS插件开发的一些感想和心得
2016/02/04 Javascript
js提交form表单,并传递参数的实现方法
2016/05/25 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
详解node中创建服务进程
2017/05/09 Javascript
Angular路由ui-router配置详解
2018/08/01 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
原生js实现表格循环滚动
2020/11/24 Javascript
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
黑科技 Python脚本帮你找出微信上删除你好友的人
2016/01/07 Python
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
Python Flask框架扩展操作示例
2019/05/03 Python
Django保护敏感信息的方法示例
2019/05/09 Python
python UDP(udp)协议发送和接收的实例
2019/07/22 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
Python操作MongoDb数据库流程详解
2020/03/05 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
Python读取二进制文件代码方法解析
2020/06/22 Python
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
德国咖啡批发商:Coffeefair
2019/08/26 全球购物
应用服务器有那些
2012/01/19 面试题
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
机动车交通事故协议书
2015/01/29 职场文书
锅炉工岗位职责
2015/02/13 职场文书
python自动化八大定位元素讲解
2021/07/09 Python
Java 实现限流器处理Rest接口请求详解流程
2021/11/02 Java/Android
如何通过简单的代码描述Angular父组件、子组件传值
2022/04/07 Javascript
排查并解决Oracle sysaux表空间异常增长
2022/04/20 Oracle
Nginx安装配置详解
2022/06/25 Servers