Vue實現未登錄跳轉到登錄頁的示例代碼
1、登錄頁登錄成功時將服務端返回的標識存放起來
2、在router中給不需要登錄的頁面設置 meta : { auth : false },如首頁
3、使用路由前置守衛beforEach,由於給路由設置瞭meta : { auth : false },如果是符合該屬性時則不需要跳轉登錄頁
4、接下來根據token是否存入到localstorage
來進行判斷或者cookie是否存入客戶端做判斷,這裡在vuex中做處理
如果token和cookie不存在時則需要跳轉到登錄頁
5、在axios中響應攔截response中做如下處理
先獲取服務端返回未登錄的狀態碼,根據這個狀態碼做判斷並將token,cookie置空後跳轉到登錄頁
總結:
1、 to.fullPath將跳轉的路由path作為參數,登錄成功後跳轉到該路由
2、vue router中meta 字段代表路由元信息,可以通過meta對象中的一些屬性來判斷當前路由是否需要進一步處理,如果需要處理,按照自己想要的效果進行處理即可(此處是不需要跳轉登錄頁)
3、路由前置守衛beforEach接受三個參數
(1)to: Route
: 即將要進入的目標
(2)from: Route
: 當前導航正要離開的路由
(3)next
4、axios全局攔截器
(1)請求攔截器
axios.interceptors.request.use(res=>{ //發送請求前要做的事兒,例如統一cookie、設置請求頭header等 return res },(error)=>{ //請求發生錯誤時在這裡處理 return Promise.reject(error) })
(2)響應攔截器
axios.interceptors.response.use(res=>{ //請求成功時對響應數據做處理,做數據統一處理,常處理登錄失敗與失效 return res },(error)=>{ //請求失敗時在這裡處理 return Promise.reject(error) })
到此這篇關於Vue實現未登錄跳轉到登錄頁的示例代碼的文章就介紹到這瞭,更多相關Vue 未登錄跳轉到登錄頁內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Vue項目中token驗證登錄(前端部分)
- VUE實現token登錄驗證
- Django中間件整合Vue攔截器的使用
- web項目開發中2個Token原因解析及示例代碼
- vue獲取token實現token登錄的示例代碼