Vue中使用js-cookie插件实现登录时记住密码后存取到Cookie中
場景
使用vue實現一個登錄頁面時,實現記住密碼功能。
在勾選了記住密碼后將密碼存儲到Cookie中,然后下次直接從Cookie中取。
?
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。
實現
官網
https://www.npmjs.com/package/js-cookie
安裝
npm install js-cookie --save使用
為了使用方便,將設置和添加以及移除 Cookie的方法抽離出來為公共方法。
首先在項目下新建 utils目錄,在目錄下新建auth.js
然后在此js中先引入js-cookie插件
import Cookies from 'js-cookie'然后聲明一個作為存取和刪除cookie的標志的key常量
const TokenKey = 'Admin-Token'然后封裝并暴露方法
export function getToken() {return Cookies.get(TokenKey) }export function setToken(token) {return Cookies.set(TokenKey, token) }export function removeToken() {return Cookies.remove(TokenKey) }
所以auth.js的完整代碼
然后在需要用到的vue頁面中對需要的方法引入,這里以獲取token為例
import { getToken } from '@/utils/auth'然后就可以使用getToken獲取token了
? if (getToken() && !isToken) {config.headers['Authorization'] = 'Bearer ' + getToken() // 讓每個請求攜帶自定義token 請根據實際情況自行修改}你可可以不對cookie進行封裝方法,在第一步安裝完js-cookie后,
直接在需要對Cookie進行操作的vue頁面,這里是login.vue登錄頁面
import Cookies from "js-cookie";引入后在點擊登錄按鈕的處理事件方法中
???????? if (this.loginForm.rememberMe) {Cookies.set("username", this.loginForm.username, { expires: 30 });Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });} else {Cookies.remove("username");Cookies.remove("password");Cookies.remove('rememberMe');}這塊邏輯是如果點擊了記住密碼,則將用戶名和密碼和是否記住密碼存入進Cookie
這里的密碼調用了RSA加密的方式防止密碼明文暴露。
具體實現可以參照下面
https://mp.csdn.net/console/editor/html/108343805
這是在點擊登錄按鈕后點擊了記住密碼的操作,那么在一開始進入登錄頁面后就需要去獲取Cookie然后
去填充進輸入框
所以在login.vue頁面的created函數中
? created() {this.getCookie();},調用獲取Cookie的方法,方法的具體實現
??? getCookie() {const username = Cookies.get("username");const password = Cookies.get("password");const rememberMe = Cookies.get('rememberMe')this.loginForm = {username: username === undefined ? this.loginForm.username : username,password: password === undefined ? this.loginForm.password : decrypt(password),rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)};},首先是聲明相應的常量來根據key獲取Cookie中的數據,然后去進行是否為undefined的判斷。
如果是undefined的話說明就是之前沒有執行記住密碼的操作,即Cookie中沒有存儲的用戶名密碼等。
那么此登錄表單綁定的輸入框的屬性就是本身,否則的話就是從Cookie中去取用戶名和密碼。
總結
以上是生活随笔為你收集整理的Vue中使用js-cookie插件实现登录时记住密码后存取到Cookie中的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue中前端加密使用RSA加密下的JSE
- 下一篇: SpringBoot+Vue实现请求后台