可以做埋点 哈哈
谈一谈隐藏路由回调API wx.onAppRoute打印wx对象的时候发现了原来小程序有一个全局路由回调api。试了一下觉得不错,真机上也可以用。 原来觉得可以用来做一个全局路由中间件(像vue router一样),如: [代码]// app.js[代码] [代码]import store from 'store'[代码] [代码] [代码] [代码]onLaunch () {[代码] [代码] wx.onAppRoute((route) => {[代码] [代码] [代码][代码]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时立即触发,用来更好地做全局路由中间件?
2021-11-12