色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

vue項(xiàng)目中js-cookie的使用存儲token操作

瀏覽:71日期:2022-10-29 08:26:28

1、安裝js-cookie

# npm install js-cookie --save

# yarn add js-cookie

2、引用(需要的文件)

import Cookies from ’js-cookie’ const TokenKey = ’Admin-Token’ export function getToken() { return Cookies.get(TokenKey)} export function setToken(tcuncuoken) { return Cookies.set(TokenKey, token)} export function removeToken() { return Cookies.remove(TokenKey)}

3、瀏覽器cookie

vue項(xiàng)目中js-cookie的使用存儲token操作

4、 也可以存儲其他

const user = { name: ’lia’, age: 18}Cookies.set(’user’, user)const liaUser = JSON.parse(Cookies.get(’user’))

補(bǔ)充知識:vue 實(shí)現(xiàn)記住密碼功能,用戶信息在客戶端加密存儲

效果圖:

vue項(xiàng)目中js-cookie的使用存儲token操作

功能詳解:用戶登錄時(shí),勾選記住密碼,系統(tǒng)會將登錄信息存入瀏覽器cookie中,下次登錄時(shí)系統(tǒng)會自動將信息回寫在輸入框中(默認(rèn)設(shè)置保存時(shí)間為3天,此處需要將密碼進(jìn)行加密處理,以提高安全性)

1.定義頁面元素,v-model綁定變量

vue項(xiàng)目中js-cookie的使用存儲token操作

2.

vue項(xiàng)目中js-cookie的使用存儲token操作

3.引入vue的加密組件 CryptoJS,執(zhí)行這條命令,系統(tǒng)會自動安裝

npm install crypto-js

安裝成功后,還需在登錄頁面引入組件

vue項(xiàng)目中js-cookie的使用存儲token操作

4.定義操作cookie的三個(gè)方法,后面需要用到,代碼我貼出來

/************* Cookie start ***************/ clearCookie(cookieName) { var exp = new Date(); exp.setTime(exp.getTime() - 1); var cval = this.getCookie(cookieName); if (cval != null) { document.cookie = cookieName + '=' + cval + ';expires=' + exp.toGMTString(); } }, setCookie(cookieName, value, expiremMinutes) { var exdate = new Date(); exdate.setTime(exdate.getTime() + expiremMinutes * 60 * 1000); document.cookie = cookieName + '=' + escape(value) + ((expiremMinutes == null) ? '' : ';expires=' + exdate.toGMTString()); }, getCookie(cookieName) { if (document.cookie.length > 0) { var c_start = document.cookie.indexOf(cookieName + '='); if (c_start != -1) { c_start = c_start + cookieName.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 end***************/

5.在登錄方法中判斷記住密碼是否有被勾選,如果有,則需要將賬號密碼信息存入cookie中,沒有,則調(diào)用上面的方法清除cookie信息,關(guān)鍵步驟我已標(biāo)記,登錄方法在下面:

vue項(xiàng)目中js-cookie的使用存儲token操作

/************* 登錄 start ***************/ signIn() { let _this = this; //判斷是密碼登錄還是短信登錄 if (_this.indexd == 0) { _this.$refs[’ruleForm’].validate((valid) => { if (valid) {//定義要存入cookie的對象 var accountInfo = '';//拿到輸入框中的密碼,使用AES加密 var pwd = _this.form.pwd; var newPwd = CryptoJS.AES.encrypt(pwd,’secret key 123’); //若勾選記住密碼 if (_this.checked == true) {console.log('選擇記住密碼,checked == true');accountInfo = _this.form.name + '&' + newPwd; //將加密后的密碼存入cookie對象中_this.setCookie(’accountInfo’,accountInfo,1440*3); //傳入賬號名,密碼,和保存天數(shù)3個(gè)參數(shù)(3天) }else {console.log('清空Cookie');_this.clearCookie(’accountInfo’); //清空Cookie } let params = {'username': _this.form.name,'password': _this.form.pwd,'vCode': _this.form.imgCode,'loginToken': _this.loginToken, }; post(’/login/login’, params).then(function (response) {if (response.data.code == '20000') { sessionStorage.setItem('v-token', response.data.data.token); sessionStorage.setItem('v-menu', JSON.stringify(response.data.data.routers)); sessionStorage.setItem('v-user', JSON.stringify(response.data.data.currentUser)); //_this.makeRouters(response.data.data.routers); _this.$message({ message: ’登錄成功’, type: ’success’ }); _this.clearCookie('login_token');//清除token //平臺 if (response.data.data.currentUser.type == 0) { //平臺 _this.$router.push(’/index’); } else if (response.data.data.currentUser.type == 1 || response.data.data.currentUser.type == 3 || response.data.data.currentUser.type == 2) { //渠道商 _this.$router.push(’/operate’); } else { //證券商 _this.$router.push(’/AoInformationManagement’) } } else if (response.data.code == '50000') { _this.$message.warning(response.data.msg); _this.changeCode();} }).catch(function (err) {_this.$message.error(err);_this.changeCode(); }) } }); } }

5.選擇記住密碼,登錄系統(tǒng)后,可以在調(diào)試模式中查看cookie信息,如圖:

vue項(xiàng)目中js-cookie的使用存儲token操作

6.退出系統(tǒng)后,需要判斷cookie有無賬號信息,如果有,則進(jìn)行回寫,下面是我的方法:

在鉤子方法中調(diào)用下面的loadAccountInfo回寫方法

vue項(xiàng)目中js-cookie的使用存儲token操作

//預(yù)讀取cookie中用戶信息 loadAccountInfo(){ let self = this; //admin%26U2FsdGVkX1+/ZtAGWFVi37gNwA7TUZmQM+yazInCPxs%3D let accountInfo = self.getCookie(’accountInfo’); //如果cookie里沒有賬號信息 if(Boolean(accountInfo) == false){ console.log(’cookie中沒有檢測到用戶賬號信息!’); return false; } else{ //如果cookie里有賬號信息 console.log(’cookie中檢測到賬號信息!現(xiàn)在開始預(yù)填寫!’); let userName = ''; let passWord = ''; let index = accountInfo.indexOf('&'); userName = accountInfo.substring(0,index); passWord = accountInfo.substring(index+1); //拿到加密后的密碼 //解密 var bytes = CryptoJS.AES.decrypt(passWord.toString(),’secret key 123’); //拿到解密后的密碼(登錄時(shí)輸入的密碼) var newpassWord = bytes.toString(CryptoJS.enc.Utf8); self.form.name = userName; self.form.pwd = newpassWord; self.checked = true; } },

7.最后效果就是這樣

vue項(xiàng)目中js-cookie的使用存儲token操作

以上這篇vue項(xiàng)目中js-cookie的使用存儲token操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 另类欧美视频 | 18年大片免费在线 | 国产自偷自拍 | 国产成人久久精品推最新 | 91男女视频 | 全国男人天堂网 | 亚洲国产一级毛片 | 成人午夜精品久久不卡 | 在线观看中文字幕国产 | 日本乱人伦毛片 | 国产亚洲精品激情一区二区三区 | 国产精品亚洲专一区二区三区 | 欧美成人午夜在线全部免费 | www.日本高清.com | 亚洲欧美日韩在线播放 | 一级毛片一级毛片a毛片欧美 | 免费视频久久 | 国产成人免费不卡在线观看 | 亚洲免费网址 | 欧美精品成人一区二区视频一 | 免费精品一区二区三区在线观看 | 久久高清一级毛片 | 成人免费真人毛片视频 | 国产精品特黄一级国产大片 | 久久视频在线观看免费 | 一级做a爰全过程免费视频毛片 | 久久精品中文字幕有码日本 | 成人男女视频 | 草草影院www色极品欧美 | 一级欧美在线的视频 | 成人中文字幕一区二区三区 | 美女网站在线观看视频18 | 亚洲一区二区三区四区在线 | 日本特黄特色大片免费看 | 欧美巨大精品欧美一区二区 | 一区二区视频在线 | 一级特黄aaa免费 | 精品在线一区二区三区 | 中文字幕最新中文字幕中文字幕 | 久色一区| 91国在线视频 |