vue通過cookie獲取用戶登錄信息的思路詳解
思路
- 進(jìn)入頁(yè)面
- 若未登錄,跳轉(zhuǎn)至登陸頁(yè)面
- 若已登錄,從cookie中獲取用戶信息,并執(zhí)行后續(xù)操作
2. 登錄頁(yè)面,存入cookie(setCookie)
import {setCookie,getCookie}from 'src/js/cookieUtil' methods: { async cheack_n_p () { if( this.checkCode === this.pwd) { this.loginData = await getUserInfo(this.uname, this.pwd, this.adminPhone); if (this.loginData.res !== 0) { setCookie('userName',this.uname); setCookie('userPwd',this.pwd,); setCookie('phone',this.uname); setCookie('userId',this.loginData.obj.id); setCookie('userType',this.loginData.obj.userType); setCookie('adminPhone',this.adminPhone); // this.$router.go(-1); this.$router.replace('/'); } else { alert("驗(yàn)證碼錯(cuò)誤!") } } }, //驗(yàn)證手機(jī)號(hào)碼部分 async sendcode(){ var pattern = /^0{0,1}(1[0-9][0-9]|15[7-9]|153|156|18[7-9])[0-9]{8}$/, str =this.uname; if (!pattern.test(str)) { alert('請(qǐng)正確輸入手機(jī)號(hào)!'); return ; } this.time=60; this.disabled=true; this.timer(); this.checkCode = (await getUserPhoneCode(this.uname)).resMsg; // this.checkCode = '123456'; console.log( this.checkCode) }, timer:function () { if (this.time > 0) { this.time--; // console.log(this.time); this.btntxt=this.time+"s后重新獲取"; setTimeout(this.timer, 1000); } else{ this.time=0; this.btntxt="獲取驗(yàn)證碼"; this.disabled=false; } } },
2. 頁(yè)面判斷
import {setCookie,getCookie}from 'src/js/cookieUtil' mounted () { if (this.isLogin==undefined||this.isLogin=="") { this.$router.replace('/login'); } else { // 執(zhí)行后續(xù)操作 this.phone = getCookie("phone"); } }, computed: { isLogin () { // return this.$store.getters.getLogin; this.userId = getCookie("userId"); // console.log(this.userId); return this.userId; } },
3. cookieUtil(setCookie,getCookie)
/** * Created by Schon on 2018/9/13 0013. */ //設(shè)置cookie export function setCookie(key,value) { var exdate = new Date(); //獲取時(shí)間 exdate.setTime(exdate.getTime() + 24 * 60 * 60 * 1000 * 36500); //保存的天數(shù),我這里寫的是100年 //字符串拼接cookie window.document.cookie = key + "=" + value + ";path=/;expires=" + exdate.toGMTString(); }; //讀取cookie export function getCookie(param) { var c_param = ''; if (document.cookie.length > 0) { var arr = document.cookie.split('; '); //這里顯示的格式需要切割一下自己可輸出看下 for (var i = 0; i < arr.length; i++) { var arr2 = arr[i].split('='); //再次切割 //判斷查找相對(duì)應(yīng)的值 if (arr2[0] == param) { c_param = arr2[1]; //保存到保存數(shù)據(jù)的地方 } } return c_param; } }; function padLeftZero (str) { return ('00' + str).substr(str.length); };
總結(jié)
以上所述是小編給大家介紹的vue通過cookie獲取用戶登錄信息的思路詳解,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- 使用vue-router beforEach實(shí)現(xiàn)判斷用戶登錄跳轉(zhuǎn)路由篩選功能
- Vue中保存用戶登錄狀態(tài)實(shí)例代碼
- Vue項(xiàng)目使用localStorage+Vuex保存用戶登錄信息
- vue 實(shí)現(xiàn)用戶登錄方式的切換功能
- django rest framework vue 實(shí)現(xiàn)用戶登錄詳解
- Vue ElementUI之Form表單驗(yàn)證遇到的問題
- Vue 權(quán)限控制的兩種方法(路由驗(yàn)證)
- vue+element-ui集成隨機(jī)驗(yàn)證碼+用戶名+密碼的form表單驗(yàn)證功能
- vue 實(shí)現(xiàn)axios攔截、頁(yè)面跳轉(zhuǎn)和token 驗(yàn)證
- Vue實(shí)現(xiàn)用戶登錄及token驗(yàn)證
相關(guān)文章
構(gòu)建大型 Vue.js 項(xiàng)目的10條建議(小結(jié))
這篇文章主要介紹了構(gòu)建大型 Vue.js 項(xiàng)目的10條建議(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11教你使用vue-autofit 一行代碼搞定自適應(yīng)可視化大屏
這篇文章主要為大家介紹了使用vue-autofit 一行代碼搞定自適應(yīng)可視化大屏教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05vue2項(xiàng)目解決IE、360瀏覽器兼容問題的辦法
雖然已經(jīng)擯棄ie的使用,但是在現(xiàn)階段還是在某些場(chǎng)景下需要用到ie,這篇文章主要給大家介紹了關(guān)于vue2項(xiàng)目解決IE、360瀏覽器兼容問題的辦法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09vue 跳轉(zhuǎn)到其他頁(yè)面并關(guān)閉當(dāng)前頁(yè)面的實(shí)現(xiàn)代碼
我在做一個(gè)調(diào)用虛擬機(jī)錄屏的一個(gè)操作,需要在瀏覽器頁(yè)面上,點(diǎn)擊按鈕后,關(guān)閉當(dāng)前頁(yè)面里的某一個(gè)頁(yè)面,并且打開瀏覽器新頁(yè)面是虛擬機(jī)的頁(yè)面,本文給大家介紹vue 跳轉(zhuǎn)到其他頁(yè)面并關(guān)閉當(dāng)前頁(yè)面的實(shí)現(xiàn)代碼,感興趣的朋友一起看看吧2023-09-09基于Vue+ElementUI的省市區(qū)地址選擇通用組件
這篇文章主要介紹了基于Vue+ElementUI的省市區(qū)地址選擇通用組件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11你知道Vue中神奇的$set是如何實(shí)現(xiàn)的嗎?
在日常開發(fā)中,$set的也是一個(gè)非常實(shí)用的API。但是我們知其然更要知其所以然,接下來就跟隨小編一起看一下Vue中的$set是如何實(shí)現(xiàn)的吧2022-12-12解決vue router使用 history 模式刷新后404問題
這篇文章主要介紹了解決vue router使用 history 模式刷新后404問題,需要的朋友可以參考下2017-07-07