1. 程式人生 > >weex中使用全域性路由守衛

weex中使用全域性路由守衛

       使用了weex有一定的時間了,可以說一路踩著無數的坑過來了。今天簡單說一下weex裡面如何做全域性路由守衛。也就是說退出app之後,再次進入之後不用再次登入。

weex不支援vue中的beforeEach()鉤子函式

       vue中的beforeEach函式:

router.beforeEach((to,from,next)=>{

})

       由於weex是基於vue的,原以為weex會支援vue這樣的寫法,但是一直出不來效果,苦苦思考得不到結果。在小夥伴的提示下,使用了簡單的判斷方法。程式碼如下,寫在 router.js中:

const storage = weex.requireModule('storage');
storage.getItem('PHONE', function (e) {
  if (e.result === 'success') {
      router.push('/home');
  } else {
      router.push('/login')
  }
});

       判斷原則:獲取任意一個使用者登入資訊,如果本地只要有這樣的資料就說明已登入,直接跳到home頁面;如果沒有登入資訊,則跳轉到login頁面進行登入。