localStorage + Vuex 保存用戶信息

在我們***項(xiàng)目中,使用了Vue前端框架,由于某些頁面(比如最近的秋季抽獎(jiǎng)主題以及玩家社區(qū)評(píng)論頁面和點(diǎn)贊頁面)需要用戶登錄才能進(jìn)行簽到、抽獎(jiǎng)、評(píng)論和點(diǎn)贊等功能。一般像這樣的用戶信息一般都是存在Vuex里面,因?yàn)閂uex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測的方式發(fā)生變化。但是Vuex雖然能存儲(chǔ)狀態(tài),但是一旦頁面刷新,用戶狀態(tài)也隨之刷新消失,如果想要用戶狀態(tài)不會(huì)因?yàn)樗⑿露?,這里便要用到本地存儲(chǔ)了。因?yàn)閘ocalStorage解決了cookie存儲(chǔ)空間不足的問題(cookie中每條cookie的存儲(chǔ)空間為4k),localStorage中一般瀏覽器支持的是5M大小,相當(dāng)于前端頁面的數(shù)據(jù)庫。

在萬歲爺官網(wǎng)中采用了localStorage + Vuex結(jié)合來保存用戶信息,Vuex結(jié)構(gòu)如下圖1。

圖1 Vuex結(jié)構(gòu)圖

在本項(xiàng)目中,我單獨(dú)將localStorage放在一個(gè)js里面,在有需要的時(shí)候可以調(diào)用,如圖2。

圖2 localStorage.js

This.get是讀取localStorage里面的數(shù)據(jù),this.set是將數(shù)據(jù)存入localStorage,this.clear清除localStorage里的數(shù)據(jù)。

如果需要調(diào)用localStorage,則可以在需要調(diào)用的文件里面引入localStorage。如圖3。

圖3 user_login.js
圖4 user_login.js里面的state和getters??
圖5 user_login.js里面的mutations和actions??

存儲(chǔ)基礎(chǔ)信息,將傳入的data賦值給state.user_datas,然后將state存入localStorage.user_info。

清除localStorage里面的數(shù)據(jù),可以將state.user_datas設(shè)置為空值,然后將空值存入localStorage.user_info。這樣localStorage里面的數(shù)據(jù)就為空。這個(gè)在登出網(wǎng)站的時(shí)候可以用到。

圖6 登錄

在登錄網(wǎng)站的時(shí)候,在請求用戶數(shù)據(jù)后,利用this.$store.commit將請求到的數(shù)據(jù)存入localStorage。存入localStorage里面的信息如果不手動(dòng)刪除是會(huì)一直存在的,可以在整個(gè)項(xiàng)目里直接調(diào)用。如圖6。

圖7 登出

在登出網(wǎng)站的時(shí)候,直接this.$store.commit(‘CLEAR_BASEINFO’)。即可刪除localStorage里面用戶的狀態(tài)信息。如圖7。

圖8登錄后的localStorage.uesr_datas??
圖9效果圖
圖10登出后的localStorage.uesr_datas

好了,就這樣~


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,623評(píng)論 18 399
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,733評(píng)論 25 709
  • 中剪子巷里住著冰心,故都永遠(yuǎn)是每個(gè)人的極樂回憶。與故鄉(xiāng)之別在八歲,從小學(xué)到中學(xué),十年時(shí)光彈指過。在我記憶里猶然而新...
    覓封侯閱讀 445評(píng)論 0 1
  • 花開淡然,芳華爍美, 花落無聲,遺香余陣。 人生亦如這無言的花開花落,綻放凋零,一切都將在歲月中老去,重歸于塵,重...
    樂鈫閱讀 569評(píng)論 2 2
  • 在寫這篇文章的時(shí)候我起了兩個(gè)故事的頭兒。一篇是現(xiàn)代的,一篇是民國的,最終都在寫了一頁之后逐字刪除。沒有絲毫的心疼,...
    打醬油的薏燃閱讀 579評(píng)論 0 2

友情鏈接更多精彩內(nèi)容