最近一在做一個后臺管理系統(tǒng),項目主要使用webpack搭建框架沥阳,前端開發(fā)使用Vue跨琳,構建單頁面應用,涉及到一些用戶權限問題桐罕。
在開發(fā)過程中遇到了一些值得注意的問題脉让,巧妙的運用瀏覽器緩存解決了一些問題。
本次只描述解決方案冈绊,就不貼代碼了侠鳄,感覺貼代碼沒什么意義,知道思路就可以了死宣。
首先用到localStorage的地方是在登陸頁伟恶,用戶登陸成功后,后臺會返回用戶的一些基本信息毅该,包括用戶id博秫,用戶名稱等等。眶掌。挡育。這些信息在登陸之后的其他Vue組件是需要用到的,所以把這些信息存在本地朴爬,什么時候用即寒,直接從本地緩存里取就可以了。其實這里還可以使用Vue提供的VueX來進行數(shù)據(jù)共享召噩,但是個人覺得母赵,只是存一些簡單的數(shù)據(jù),沒必要具滴。
然后sessionStorage的運用主要來源于一個比較蛋疼的需求凹嘲,需求大概是這樣的:頁面加載,前端發(fā)送請求拿到用戶的權限信息來判斷用戶的默認首頁顯示哪一頁构韵,然后路由跳轉(zhuǎn)到該頁周蹭。那么問題來了趋艘,當用戶成功登陸之后,跳到用戶權限下的默認第一頁凶朗,然后再通過菜單進入其他頁面之后瓷胧,再點刷新,又跳到該用戶權限下的默認第一頁棚愤。這樣非常**疼抖单。為了實現(xiàn)能在本頁刷新,就想到了會話級別的sessionStorage遇八,當用戶首次登陸之后矛绘,在判斷默認展示頁之后手動添加一個sessionStorage,下次再刷新頁面刃永,判斷sessionStorage是否有值货矮,有則說明只是在當前頁刷新,則不跳轉(zhuǎn)斯够,無責說明用戶是關閉之后進來的囚玫,再進行判斷跳轉(zhuǎn)。读规。抓督。。