以下是一個Vue簡單的注冊登錄以及todo增刪改查的過程,沒有后台,一樣可以完成。大體流程把localStorage當做數據庫來用,db.js封裝一些操作數據庫增刪改查的方法(實際是對localStorage增刪改查的操作),用Vuex管理登錄信息。
1、文件結構
2、簡單的路由配置(注冊、登錄、todo)
3、注冊頁面引入db.js里的DBUser對象,點擊注冊按鈕時,調用DBUser下的addUser方法,把用戶名密碼還有id(時間戳)存到localStorge里
4、db.js的存儲過程
5、登錄操作,和注冊一樣,先引入DBUser,使用DBUser中findUser方法查詢,成功后通過Vuex管理user用戶名,並跳轉到todo頁面。
6、DBUser中findUser方法,查詢localStorage中存儲的注冊用戶信息,查到返回true,查不到返回false
7、再來看看Vuex,登錄成功派發一個user/login的action,action觸發mutation,在mutation中有調用DBUser中的login,參數為user。
8、DBUser中的login方法把user存到sessionStorage中。(注意是sessionStorage),這意味着當用戶關閉瀏覽器則不會保留登錄狀態。
9、再看看登錄成功后todo頁面顯示,從路由可以看出todo頁面是一個layout布局,父路由組件是Welcome.vue組件。
7、Welcome組件中的信息用vuex來管理
8、每次頁面刷新,登錄狀態還能保持,vuex初始化調用了DBUSer中的getCurrUser方法,從sessionStorage中取出當前登錄的用戶名存到Vuex的state下的user中。
退出登錄調用DBUSer中的loginout,把sessionStorage中currUser設為空。