第一次进入微信小程序时会被重定向到首页的问题

242 阅读1分钟

问题出现过程

前段时间在开发小程序时,偶尔发现通过扫码或分享页卡进入某个页面时,该页面闪一下然后就进入了首页。后来通过验证发现只有第一次进入小程序时,或者下拉删除后第一次进入时才会出现。

对于问题的验证

首先怀疑跳转参数有误 于是我在小程序onLaunch里面打印,发现参数里面的path、query都是正常的

解决方法

我目前时通过在onLaunch里面判断是否携带参数path,有就重定向去该path

// 加个延时器是解决苹果机兼容的问题
   setTimeout(()=>{
      if(options.path){
        if(Object.keys(options.query).length !== 0){
          let arr = []
          let str = ''
          for (const key in options.query) {
            str = key + '=' + options.query[key]
            arr.push(str)
          }
          wx.reLaunch({
            url: '/' + options.path + '?' + arr.join('&'),
          })
        }else {
          wx.reLaunch({
            url: '/' + options.path ,
          })
        }
      }
    },150)

有没有大佬知道出现这个问题的原因,以及解决的方法