谈一谈隐藏路由回调API wx.onAppRoute
打印wx对象的时候发现了原来小程序有一个全局路由回调api。试了一下觉得不错,真机上也可以用。
原来觉得可以用来做一个全局路由中间件(像vue router一样),如:
const protectedRoutes = [ 'pages/protected/1' , 'pages/protected/2' , 'pages/protected/3' ] if (!store.userLoggedIn() && protectedRoutes.find(r => route.path.includes(r))) { wx.redirectTo({ url: '/pages/register/register' }) }
|
但是,经测试发现这个回调触发太慢了,不适合用于授权页面。页面切换后大概有半秒可以看新页面的内容。
还是得在各处添加登录状态代码。
官方可不可以提供一个wx.beforeAppRoute回调,navigate / switchtap / redirect时立即触发,用来更好地做全局路由中间件?