vue中使用cookie实现登录记住密码功能

有时候,不是因为你没有能力,也不是因为你缺少勇气,只是因为你付出的努力还太少,所以,成功便不会走向你。而你所需要做的,就是坚定你的梦想,你的目标,你的未来,然后以不达目的誓不罢休的那股劲,去付出你的努力,成功就会慢慢向你靠近。

导读:本篇文章讲解 vue中使用cookie实现登录记住密码功能,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

功能:设置cookie保存时间为7天,关闭浏览器cookie不会消失,否则不设置过期时间cookie会默认关闭浏览器自动清除的,如果设置了cookie过期时间,关闭浏览器,cookie仍被清空了,那可能是浏览器设置的原因,记得把下面按钮关闭

vue中使用cookie实现登录记住密码功能

 效果:

vue中使用cookie实现登录记住密码功能

设置cookie:

将用户名,密码,以及保存的天数,以及记住密码的check按钮的布尔值存入cookie

    //设置cookie
    setCookie(c_name, c_pwd, exdays, flg) {
      var exdate = new Date(); //获取当前时间
      exdate.setTime(exdate.getTime() + 24 * 60 * 60 * 1000 * exdays); //保存的天数
      //字符串拼接cookie
      console.log(window.document.cookie,c_name,c_pwd)
      window.document.cookie =
        "userName" + "=" + c_name + ";path=/;expires=" + exdate.toGMTString();
      window.document.cookie =
        "userPwd" + "=" + c_pwd + ";path=/;expires=" + exdate.toGMTString();
      window.document.cookie = "checked" + "=" + flg + ";path=/;expires=" +         
        exdate.toGMTString();
      //注意:";path=/;expires=" + exdate.toGMTString()"这个是给你设置的变量增加保存时间的,别忘了加
    },

读取cookie:

通过document.cookie获取你保存的cookie,我保存的打印如下

vue中使用cookie实现登录记住密码功能  

因此需要对获取的所有cookie值进行两次切割 

    //读取cookie
    getCookie(){
      if (document.cookie.length > 0) {
        var arr = document.cookie.split(";"); //这里显示的格式需要切割一下下
        for (var i = 0; i < arr.length; i++) {
          var arr2 = arr[i].split("="); //再次切割
          console.log(arr2[0]);
          //判断查找相对应的值
          if (arr2[0] == " userName") {
            this.loginObj.username = arr2[1]; //获取用户名到登录页面
          } else if (arr2[0] == " userPwd") {
            this.loginObj.password = arr2[1]; //获取密码到登录页面
          } else if (arr2[0] == " checked") {
            if (arr2[1] == "true") {
              this.checked = true;  //获取记住密码check值到登录页面
            } else {
              this.checked = false;
            }
            console.log(this.checked);
          }
        }
      }
    },

清除cookie:

    //清除cookie
    clearCookie: function () {
      this.setCookie("", "", -1, false); //修改其他值都为空,天数为负1天
    },

 函数都封装完成之后就是调用:

在登录成功之后判断他是否勾选记住密码的按钮,如果勾选则调用设置cookie进行保存,若没勾选则调用清空cookie。

vue中使用cookie实现登录记住密码功能

          //判断复选框是否被勾选 勾选则调用配置cookie方法
          if (self.checked == true) {
            //传入账号名,密码,和保存天数,check值
            self.setCookie(self.loginObj.username,self.loginObj.password,7,"true");
          } else {
            //清空Cookie
            self.clearCookie();
          }

然后就是在登录页刚进来的时候就应该获取一下cookie,判断是否之前登录过保存有cookie,有的话直接获取cookie里面的用户名密码即可。

vue中使用cookie实现登录记住密码功能

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/149745.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!