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 写的个性导航菜单
Dec 24 Javascript
JavaScript Date对象 日期获取函数
Dec 19 Javascript
JS.elementGetStyle(element, style)应用示例
Sep 24 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
Apr 29 Javascript
Vue自定义指令介绍(2)
Dec 08 Javascript
js中数组的常用方法小结
Dec 30 Javascript
JS中验证整数和小数的正则表达式
Oct 08 Javascript
详解vue配置后台接口方式
Mar 29 Javascript
JavaScript中的相等操作符使用详解
Dec 21 Javascript
微信小程序去除左上角返回键的实现方法
Mar 06 Javascript
jQuery实现简单全选框
Sep 13 jQuery
Javascript数组及类数组相关原理详解
Oct 29 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
蝙蝠侠:侠影之谜
2020/03/04 欧美动漫
php 论坛采集程序 模拟登陆,抓取页面 实现代码
2009/07/09 PHP
PHP遍历数组的几种方法
2012/03/22 PHP
php中序列化与反序列化详解
2017/02/13 PHP
实例介绍PHP中zip_open()函数用法
2019/02/15 PHP
php封装的page分页类完整实例代码
2020/02/01 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
js 利用className得到对象的实现代码
2011/11/15 Javascript
原生js实现跨浏览器获取鼠标按键的值
2013/04/08 Javascript
jQuery怎么解析Json字符串(Json格式/Json对象)
2013/08/09 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
2016/10/19 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
Vue中在新窗口打开页面及Vue-router的使用
2018/06/13 Javascript
微信小程序事件对象中e.target和e.currentTarget的区别详解
2019/05/08 Javascript
浅析Vue中拆分视图层代码的5点建议
2019/08/15 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
详解微信小程序入门从这里出发(登录注册、开发工具、文件及结构介绍)
2020/07/21 Javascript
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
python批量添加zabbix Screens的两个脚本分享
2017/01/16 Python
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
解决pycharm运行出错,代码正确结果不显示的问题
2018/11/30 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
python+selenium 脚本实现每天自动登记的思路详解
2020/03/11 Python
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
蒂娜商店:Tiina the Store
2019/12/07 全球购物
外语系毕业生自荐信范文
2013/12/16 职场文书
自我评价200字分享
2013/12/17 职场文书
廉洁自律承诺书
2014/03/27 职场文书
保护环境建议书作文400字
2015/09/14 职场文书
2016年七夕情人节宣传语
2015/11/25 职场文书
源码安装apache脚本部署过程详解
2022/09/23 Servers