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 相关文章推荐
Array.prototype.concat不是通用方法反驳[译]
Sep 20 Javascript
js展开闭合效果演示代码
Jul 24 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
Jun 26 Javascript
jQuery打印图片pdf、txt示例代码
Jul 22 Javascript
jQuery中append()方法用法实例
Dec 25 Javascript
JavaScript制作简易的微信打飞机
Mar 31 Javascript
简介JavaScript中substring()方法的使用
Jun 06 Javascript
jquery实现的用户注册表单提示操作效果代码分享
Aug 28 Javascript
基于JavaScript实现瀑布流布局(二)
Jan 26 Javascript
移动端 一个简单易懂的弹出框
Jul 06 Javascript
Mint UI实现A-Z字母排序的城市选择列表
Dec 28 Javascript
Layui实现数据表格默认全部显示(不要分页)
Oct 26 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
JoshChen_php新手进阶高手不可或缺的规范介绍
2013/08/16 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
PHP使用PDO抽象层获取查询结果的方法示例
2018/05/10 PHP
phpmyadmin在宝塔面板里进不去的解决方案
2020/07/06 PHP
BOOM vs RR BO3 第二场2.13
2021/03/10 DOTA
js鼠标及对象坐标控制属性详细解析
2013/12/14 Javascript
基于js中style.width与offsetWidth的区别(详解)
2017/11/12 Javascript
Bootstrap实现翻页效果
2017/11/27 Javascript
javascriptvoid(0)含义以及与&quot;#&quot;的区别讲解
2019/01/19 Javascript
javascript判断一个变量是数组还是对象
2019/04/10 Javascript
微信小程序 组件的外部样式externalClasses使用详解
2019/09/06 Javascript
浅谈Vue SSR中的Bundle的具有使用
2019/11/21 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
python re正则表达式模块(Regular Expression)
2014/07/16 Python
Python入门篇之对象类型
2014/10/17 Python
详解Python中的Cookie模块使用
2015/07/06 Python
python2.7到3.x迁移指南
2018/02/01 Python
Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)
2020/02/05 Python
python3.7调试的实例方法
2020/07/21 Python
用python写一个带有gui界面的密码生成器
2020/11/06 Python
详解CSS3开启硬件加速的使用和坑
2017/08/21 HTML / CSS
使用Html5实现异步上传文件,支持跨域,带有上传进度条
2016/09/17 HTML / CSS
HTML5 Canvas实现360度全景图的示例代码
2018/01/29 HTML / CSS
TripAdvisor台湾:全球最大旅游网站
2018/08/26 全球购物
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
Timberland德国官网:靴子、鞋子、衣服、夹克及配件
2019/12/10 全球购物
机电一体化毕业生求职信
2013/11/02 职场文书
物理教学随笔感言
2014/02/22 职场文书
房地产活动策划方案
2014/05/14 职场文书
内乡县衙导游词
2015/02/05 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
小学中队委竞选稿
2015/11/20 职场文书
超级详细实用的pycharm常用快捷键
2021/05/12 Python
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏
Echarts如何重新渲染实例详解
2022/05/30 Javascript