电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

vue項目中js-cookie的使用存儲token操作

瀏覽:81日期: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項目中js-cookie的使用存儲token操作

4、 也可以存儲其他

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

補充知識:vue 實現記住密碼功能,用戶信息在客戶端加密存儲

效果圖:

vue項目中js-cookie的使用存儲token操作

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

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

vue項目中js-cookie的使用存儲token操作

2.

vue項目中js-cookie的使用存儲token操作

3.引入vue的加密組件 CryptoJS,執行這條命令,系統會自動安裝

npm install crypto-js

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

vue項目中js-cookie的使用存儲token操作

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

/************* 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中,沒有,則調用上面的方法清除cookie信息,關鍵步驟我已標記,登錄方法在下面:

vue項目中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); //傳入賬號名,密碼,和保存天數3個參數(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.選擇記住密碼,登錄系統后,可以在調試模式中查看cookie信息,如圖:

vue項目中js-cookie的使用存儲token操作

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

在鉤子方法中調用下面的loadAccountInfo回寫方法

vue項目中js-cookie的使用存儲token操作

//預讀取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中檢測到賬號信息!現在開始預填寫!’); 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’); //拿到解密后的密碼(登錄時輸入的密碼) var newpassWord = bytes.toString(CryptoJS.enc.Utf8); self.form.name = userName; self.form.pwd = newpassWord; self.checked = true; } },

7.最后效果就是這樣

vue項目中js-cookie的使用存儲token操作

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

標簽: Vue
相關文章:
主站蜘蛛池模板: 温泉机设备|温泉小镇规划设计|碳酸泉设备 - 大连连邦温泉科技 | 山西3A认证|太原AAA信用认证|投标AAA信用证书-山西AAA企业信用评级网 | AGV无人叉车_激光叉车AGV_仓储AGV小车_AGV无人搬运车-南昌IKV机器人有限公司[官网] | 环氧乙烷灭菌器_压力蒸汽灭菌器_低温等离子过氧化氢灭菌器 _低温蒸汽甲醛灭菌器_清洗工作站_医用干燥柜_灭菌耗材-环氧乙烷灭菌器_脉动真空压力蒸汽灭菌器_低温等离子灭菌设备_河南省三强医疗器械有限责任公司 | 环球电气之家-中国专业电气电子产品行业服务网站! | 农业仪器网 - 中国自动化农业仪器信息交流平台 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 河南道路标志牌_交通路标牌_交通标志牌厂家-郑州路畅交通 | 上海办公室装修_上海店铺装修公司_厂房装潢设计_办公室装修 | ?水马注水围挡_塑料注水围挡_防撞桶-常州瑞轩水马注水围挡有限公司 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | UV固化机_UVLED光固化机_UV干燥机生产厂家-上海冠顶公司专业生产UV固化机设备 | 模具硅橡胶,人体硅胶,移印硅胶浆厂家-宏图硅胶科技 | 保定市泰宏机械制造厂-河北铸件厂-铸造厂-铸件加工-河北大件加工 | 粉末包装机,拆包机厂家,价格-上海强牛包装机械设备有限公司 | 接地电阻测试仪[厂家直销]_电缆故障测试仪[精准定位]_耐压测试仪-武汉南电至诚电力设备 | 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 浙江栓钉_焊钉_剪力钉厂家批发_杭州八建五金制造有限公司 | 薄壁轴承-等截面薄壁轴承生产厂家-洛阳薄壁精密轴承有限公司 | Magnescale探规,Magnescale磁栅尺,Magnescale传感器,Magnescale测厚仪,Mitutoyo光栅尺,笔式位移传感器-苏州连达精密量仪有限公司 | 捷码低代码平台 - 3D数字孪生_大数据可视化开发平台「免费体验」 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | 铝箔-铝板-花纹铝板-铝型材-铝棒管-上海百亚金属材料有限公司 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | Honsberg流量计-Greisinger真空表-气压计-上海欧臻机电设备有限公司 | 宽带办理,电信宽带,移动宽带,联通宽带,电信宽带办理,移动宽带办理,联通宽带办理 | 粤丰硕水性环氧地坪漆-防静电自流平厂家-环保地坪涂料代理 | 数字展示在线_数字展示行业门户网站 | 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | 剪刃_纵剪机刀片_分条机刀片-南京雷德机械有限公司 | 黑田精工电磁阀-CAMMOZI气缸-ROSS电磁-上海茂硕机械设备有限公司 | 苏州工作服定做-工作服定制-工作服厂家网站-尺品服饰科技(苏州)有限公司 | 单机除尘器 骨架-脉冲除尘器设备生产厂家-润天环保设备 | 上海软件开发-上海软件公司-软件外包-企业软件定制开发公司-咏熠科技 | EFM 022静电场测试仪-套帽式风量计-静电平板监测器-上海民仪电子有限公司 | 定制液氮罐_小型气相液氮罐_自增压液氮罐_班德液氮罐厂家 | 砂石生产线_石料生产线设备_制砂生产线设备价格_生产厂家-河南中誉鼎力智能装备有限公司 | 热熔胶网膜|pes热熔网膜价格|eva热熔胶膜|热熔胶膜|tpu热熔胶膜厂家-苏州惠洋胶粘制品有限公司 | 安徽合肥格力空调专卖店_格力中央空调_格力空调总经销公司代理-皖格制冷设备 |