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 相关文章推荐
通过百度地图获取公交线路的站点坐标的js代码
May 11 Javascript
Javascript基础知识(二)事件
Sep 29 Javascript
Jquery树插件zTree用法入门教程
Feb 17 Javascript
JS实现不规则TAB选项卡效果代码
Sep 16 Javascript
js操作数据库实现注册和登陆的简单实例
May 26 Javascript
jQuery联动日历的实例解析
Dec 02 Javascript
JS字符串统计操作示例【遍历,截取,输出,计算】
Mar 27 Javascript
Angular4 中内置指令的基本用法
Jul 31 Javascript
Vue开发之封装上传文件组件与用法示例
Apr 25 Javascript
JavaScript装饰者模式原理与用法实例详解
Mar 09 Javascript
手动实现vue2.0的双向数据绑定原理详解
Feb 06 Vue.js
Vue vee-validate插件的简单使用
Jun 22 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代码
2008/09/10 PHP
PHP 读取Postgresql中的数组
2013/04/14 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
使用tp框架和SQL语句查询数据表中的某字段包含某值
2019/10/18 PHP
js里怎么取select标签里的值并修改
2012/12/10 Javascript
window.onload和$(function(){})的区别介绍
2013/10/30 Javascript
Javascript和Java获取各种form表单信息的简单实例
2014/02/14 Javascript
jquery实现的下拉和收缩效果示例
2014/08/21 Javascript
javascript实现点击商品列表checkbox实时统计金额的方法
2015/05/15 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
JavaScript匿名函数之模仿块级作用域
2015/12/12 Javascript
javascript对象的相关操作小结
2016/05/16 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
jQuery 操作input中radio的技巧
2016/07/18 Javascript
探究JavaScript中的五种事件处理程序方式
2016/12/07 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
跟老齐学Python之变量和参数
2014/10/10 Python
python爬虫爬取网页表格数据
2018/03/07 Python
如何基于Python + requests实现发送HTTP请求
2020/01/13 Python
python实现查找所有程序的安装信息
2020/02/18 Python
HTML5时代CSS设置漂亮字体取代图片
2014/09/04 HTML / CSS
使用canvas生成含有微信头像的邀请海报没有微信头像问题
2019/10/29 HTML / CSS
国际鲜花速递专家:Floraqueen
2016/11/24 全球购物
英格兰足协官方商店:England Store
2019/07/12 全球购物
扩大国家免疫规划实施方案
2014/03/21 职场文书
学前班评语大全
2014/05/04 职场文书
刑事代理授权委托书
2014/09/17 职场文书
2014年销售部工作总结
2014/12/01 职场文书
导游词之泉州崇武古城
2019/12/20 职场文书
python中os.path.join()函数实例用法
2021/05/26 Python
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers