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 相关文章推荐
jQuery源码分析-01总体架构分析
Nov 14 Javascript
推荐10个2014年最佳的jQuery视频插件
Nov 12 Javascript
JS实现仿腾讯微博无刷新删除微博效果代码
Oct 16 Javascript
js获取鼠标位置实例详解
Dec 09 Javascript
BootStrap中Tab页签切换实例代码
May 30 Javascript
JavaScript面试题(指针、帽子和女朋友)
Nov 23 Javascript
React实现点击删除列表中对应项
Jan 10 Javascript
windows下vue.js开发环境搭建教程
Mar 20 Javascript
微信小程序websocket聊天室的实现示例代码
Feb 12 Javascript
Postman环境变量全局变量使用方法详解
Aug 13 Javascript
在vue中import()语法不能传入变量的问题及解决
Apr 01 Vue.js
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
Apr 24 Vue.js
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 curl基本操作详解
2013/07/23 PHP
javascript call方法使用说明
2010/01/11 Javascript
Html中JS脚本执行顺序简单举例说明
2010/06/19 Javascript
基于jquery的合并table相同单元格的插件(精简版)
2011/04/05 Javascript
js异常捕获方法介绍
2013/04/10 Javascript
JS操作JSON要领详细总结
2013/08/25 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
2014/01/07 Javascript
javascript查询字符串参数的方法
2015/01/28 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
原生js实现自由拖拽弹窗代码demo
2016/06/29 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
jQuery EasyUI 选项卡面板tabs的使用实例讲解
2017/12/25 jQuery
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
用vue设计一个日历表
2020/12/03 Vue.js
linux下python抓屏实现方法
2015/05/22 Python
Python使用设计模式中的责任链模式与迭代器模式的示例
2016/03/02 Python
简述Python中的进程、线程、协程
2016/03/18 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
Python Threading 线程/互斥锁/死锁/GIL锁
2019/07/21 Python
django做form表单的数据验证过程详解
2019/07/26 Python
python GUI库图形界面开发之PyQt5 MDI(多文档窗口)QMidArea详细使用方法与实例
2020/03/05 Python
Python利用命名空间解析XML文档
2020/08/10 Python
打印机墨盒:123Inkjets
2017/02/16 全球购物
英国电气世界:Electrical World
2019/09/08 全球购物
入党积极分子介绍信
2014/01/17 职场文书
应用英语专业自荐信
2014/01/26 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
行政副总岗位职责
2014/02/23 职场文书
任命书格式
2014/06/05 职场文书
硕士生找工作求职信
2014/07/05 职场文书
工作检讨书怎么写
2014/10/10 职场文书
安全保证书格式
2015/02/28 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
MySQL慢查询的坑
2021/04/28 MySQL
浅谈JS的二进制家族
2021/05/09 Javascript