记住密码功能

直接上码
1.首先封装3个cookie 函数,直接复制贴走

// 设置cookie
const setCookie = (c_name,value,expiremMinutes) => {
  var exdate = new Date();
  exdate.setTime(exdate.getTime() + expiremMinutes * 60 * 1000);
  document.cookie= c_name + "=" + escape(value)+((expiremMinutes==null) ? "" : ";expires="+exdate.toGMTString());
};

// 读取cookie
const getCookie = (c_name) => {
  if (document.cookie.length>0)
  {
    var c_start=document.cookie.indexOf(c_name + "=");
    if (c_start!=-1)
    {
      c_start=c_start + c_name.length+1;
      var c_end=document.cookie.indexOf(";",c_start);
      if (c_end==-1)
        c_end = document.cookie.length
      return unescape(document.cookie.substring(c_start, c_end))
    }
  }
  return ""
};

// 删除cookie
const delCookie = (c_name) => {
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval = getCookie(c_name);
  if(cval!=null){
    document.cookie = c_name + "=" + cval + ";expires=" + exp.toGMTString();
  }
};

2.定义变量

data() {
          return {
            nameInput: '',  //  账号
            pawInput: '', //  密码
            keepchecked: true,  //  记住密码
        }
}

  1. 进入登录页,判断是否有cookie 密码
     mounted() {
        //读取cookie中的账号信息,如果有accountInfo的话,则说明该用户之前勾选了记住密码的功能,则需要自动填上账号密码
          this.loadAccountInfo();
      },
      methods: {
        //  判断 cookie 有无密码
        loadAccountInfo: function(){
          let mySelf = this;
          let accountInfo = getCookie('accountInfo');
          //如果cookie里没有账号信息
          if(Boolean(accountInfo) == false){
            return false;
          }
          else{
            //如果cookie里有账号信息
            let userName = '';
            let passWord = '';
            let index = accountInfo.indexOf("&");
            userName = accountInfo.substring(0,index);
            passWord = accountInfo.substring(index+1);

            mySelf.nameInput = userName;
            mySelf.pawInput = passWord;
            mySelf.keepchecked = true;
          }
      },
}

4.账号密码登录成功,存储 cookie

if(res.Code === 202){
   if ( res.Data ) {
          //  勾选记住密码,写入Cookie , 没有勾选记住密码,删除账号Cookie
          if( this.keepchecked ) {
                let accountInfo = this.nameInput + "&" + this.pawInput;
                setCookie('accountInfo', accountInfo ,1440*3)
          } else {
                delCookie('accountInfo')
          }
   }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容