vue+iview/element 一般用来快速搭建后台管理系统,登录页的记住密码功能也是必不可少的。

记住密码快速登录功能(iview ui):

思路:首次登录,记住密码,将密码存储到cookie中,退出登录,下次进来的时候,读取cookie登录。

1.<Checkbox v-model="autoLogin" size="large">记住密码</Checkbox>    //v-model 绑定的是多选框的初始状态(是否选中)

2.点击页面中的登录按钮后,判断是否选中了记住密码选项

if (this.autoLogin) {    //如果选中了记住密码的选项

    this.setCookie(username, password, 7);  //则去设置cookie,username是要提交的用户名,password是密码,7是要存储的天数

} else {

    this.clearCookie()  //如果没有选中记住密码,那就清除cookie

}

3.写有关设置,清除,读取的函数

//设置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();   

         //expires是设置cookie的过期时间,toGMTString是将日期转为GMT的字符串进行拼接

       window.document.cookie =

        "password" + "=" + c_pwd + ";path=/;expires=" + exdate.toGMTString();

    },

    //读取cookie  将用户名和密码回显到input框中喽~~

    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.username = arr2[1]; //保存到保存数据的地方 (data中)

          } else if (arr2[0] == "password") {

            this.password = arr2[1];

          }

        }

        console.log(this.username,this.password)

      }

    },

    //清除cookie

    clearCookie: function() {

      this.setCookie("", "", -1); //修改2值都为空,天数为负1天就好了

    }

4.效果图

 

Logo

前往低代码交流专区

更多推荐