html52.com
我爱小程序-开发者交流社区

谈一谈隐藏路由回调API wx.onAppRoute

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 需求 wx.onAppRoute 客户端 7.0 2.7.0

打印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时立即触发,用来更好地做全局路由中间件?


评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付