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 相关文章推荐
从阿里妈妈发现的几个不错的表单验证函数
Sep 21 Javascript
[原创]来自ImageSee官方 JavaScript图片浏览器
Jan 16 Javascript
利用javascript移动div层-javascript 拖动层
Mar 22 Javascript
JavaScript自定义事件介绍
Aug 29 Javascript
JavaScript闭包详解
Feb 02 Javascript
javascript动态生成树形菜单的方法
Nov 14 Javascript
JavaScript递归操作实例浅析
Oct 31 Javascript
JS正则表达式修饰符global(/g)用法分析
Dec 27 Javascript
vue2.0 自定义组件的方法(vue组件的封装)
Jun 05 Javascript
详解vue-cli3多页应用改造
Jun 04 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
Jun 14 Javascript
通过vue写一个瀑布流插件代码实例
Sep 07 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
国产动画《伍六七》原声大碟大卖,啊哈娱乐引领音乐赋能IP的新尝试
2020/03/08 国漫
生成静态页面的PHP类
2006/11/25 PHP
php chr() ord()中文截取乱码问题解决方法
2008/09/08 PHP
基于wordpress主题制作的具体实现步骤
2013/05/10 PHP
php短信接口代码
2016/05/13 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
通过PHP实现获取访问用户IP
2020/05/09 PHP
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
2010/07/26 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
javascript实现汉字转拼音代码分享
2015/04/20 Javascript
js console.log打印对像与数组用法详解
2016/01/21 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
js省市区级联查询(插件版&amp;无插件版)
2017/03/21 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
vue 录制视频并压缩视频文件的方法
2018/07/27 Javascript
浅谈JS for循环中使用break和continue的区别
2020/07/21 Javascript
利用js实现简易红绿灯
2020/10/15 Javascript
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
python解析json实例方法
2013/11/19 Python
Python标准库之循环器(itertools)介绍
2014/11/25 Python
python实现读取并显示图片的两种方法
2017/01/13 Python
Python Socket使用实例
2017/12/18 Python
PyQt5每天必学之切换按钮
2020/08/20 Python
python利用selenium进行浏览器爬虫
2019/04/25 Python
selenium中get_cookies()和add_cookie()的用法详解
2020/01/06 Python
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
自我评价优缺点范文
2015/03/11 职场文书
mysql批量新增和存储的方法实例
2021/04/07 MySQL
判断Python中的Nonetype类型
2021/05/25 Python
数据库之SQL技巧整理案例
2021/07/07 SQL Server
Ruby处理CSV数据方法详解
2022/04/18 Ruby
Python自动操作神器PyAutoGUI的使用教程
2022/06/16 Python