vue 登錄頁面記住密碼功能

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.效果圖

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章