localStorage和sessionStorage是web storage的的兩種存儲方式,存儲客戶端臨時信息的對象。
localStorage前者用於持久化的本地存儲,除非主動刪除數據,不然數據是永遠不會過時的。
sessionStorage存儲的數據只有在同一個會話中的頁面才能訪問而且當會話結束後數據也隨之銷燬。所以sessionStorage不是一種持久化的本地存儲,僅僅是會話級別的存儲。web
這裏能夠設計一個SessionStorage類封裝一下SessionStorage的API,提供增刪改查操做,用戶在登陸成功後作一些Promise請求,獲取一些諸如項目信息,用戶信息,權限信息以及所需字典信息等等添加到SessionStorage中。session
SessionStorage.ts
設計
export class SessionStorage{ public SetItem(key:string,option :any){ try{ const data:string = JSON.Stringfy(option); } catch(err){ Promise.reject(err); } } public GetItem(key:string){ try{ const data:string | null = window.sessionStorage.getItem(key); if(data === null){ return data; } return JSON.Stringfy(data); } catch(err){ Promise.reject(err); } } public RemoveItem(key:string){ try{ window.sessionStorage.removeItem(key); } catch(err){ Promise.reject(err); } } public clear(){ try{ window.sessionStorage.clear(); } catch(err){ Promise.reject(err); } } } export const session = new SessionStorage();
外面方法須要操做SessionStorage時引入session就能夠使用了。code
業務操做時對象
const value = sessionStorage.getItem('key');