weex中使用全域性路由守衛
阿新 • • 發佈:2018-12-11
使用了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頁面進行登入。