一、路由攔截
1.首先在router的index.js里配置一個自定義字段requireAuth,用該字段來判斷進入該路由是否需要登錄。如果已經登陸則進入該路由,反之則進入登錄頁面。
如圖是路由配置:

2.在main.js里面利用vue-router的beforeEach鈎子函數對路由進行判斷。
實例代碼如下所示:

解釋下這段代碼,當我們在登錄的時候,利用sessionStorage保存了用戶的token值,如果我們進入某一個需要登錄的路由並且能夠拿到token值的話,則可以直接next();反之進入登錄頁選擇登錄。
當然還有一種情況,那就是用戶並非主動退出登錄,而是token自動失效。此時token值依然保存在本地,需要用戶重新登錄。這時候就需要結合 http 攔截器 + 后端接口返回的http 狀態碼來判斷。
二、攔截器
當返回401狀態碼,用戶則需要重新登錄。

