收藏
回答

wx.redirectTo今天开始部分用户无法正常跳转

团队尝试了半天无法定位情况,紧急求救。


  1. 个别用户今天集中反馈小程序中异常,定位之后发现是 代码中 wx.redirectTo没有生效 代码如下


  2. var a=getCurrentPages().length
    var that = this
    this.setData({ debug: a+'  /pages/runner/runner?raceid=' + app.raceid})
    wx.redirectTo({
      url: '/pages/runner/runner?raceid=' + app.raceid,
      fail:function(res){
        that.setData({debug:JSON.stringify(res)})
      }
    })
    最后debug展示 页面深度2 ,跳转url正常无误,并且fail并没有被调起。但事实页面并不跳转
  3. 现在有一个用户反馈机型iphone6s,版本是最新的6.5.8,但同样的版本iOS中我们无法复现,但仍然有其他用户陆续反馈有这个问题。


还请微信团队救命!

回答关注问题邀请回答
收藏

5 个回答

  • Special
    Special
    2017-05-19

    在修复,预计今晚-明天解决

    2017-05-19
    有用
    回复
  • ZZZzzz
    ZZZzzz
    2017-06-20

    并没有修复啊.我到现在redirectTo还是不跳转

    2017-06-20
    有用
    回复
  • 追小命
    追小命
    2017-05-19

    最后update。。。。 onReady() 也是一样问题

    2017-05-19
    有用
    回复
  • 追小命
    追小命
    2017-05-19

    再次补充:setTimeout(this.go, 1000) timeout一秒成功, setTimeout(this.go, 500) 半秒就无法跳转了,看来是因为wx.redirect在最近的实现中更依赖某个页面生命周期的数据!但onShow从理论上不应该存在这个问题了!再次请小程序团队尽快查实。

    2017-05-19
    有用
    回复
  • 追小命
    追小命
    2017-05-19

    update : 目前可以定位是6.5.8版本,如果昨天用户打开过小程序,微信进程没有结束过,小程序还是一切正常的;如果杀掉了微信进程,就会发生wx.redirectTo()无法吊起的问题。  这里补充现在我们的发现:


    1. wxml里通过bindtap绑定  增加setTimeout() 之后,是可以正常调用的。

    2. 我们的程序是在onLoad时候判断是否可以直接跳转页面;改成onShow也是一样。


    目前我们采用了setTimeout之后跳转的临时解决方案,但这个不是根本解决的方法!这个问题真实存在,而且影响面很大!随着更多用户的微信进程重启,这样的问题会越来越多!


    附上更完整的代码:

    // Page(){
     onShow: function () {
        var that = this
     
        user_access = wx.getStorageSync('user_access_' + app.raceid)
        this.setData({ debug: JSON.stringify(user_access) + " " + app.raceid })
        if (user_access != "" && user_access != undefined) {
          this.setData({ debug: "go up" })
     
          if ("status" in user_access) {
            this.setData({ debug: "redirecting" })
            this.go()
          }
        } else {
          this.updatePage()
          this.setData({ stay: true })
        }
     
      },
      // 根据身份转向不同页面
      go: function(){
        var that = this
        this.setData({ debug: '/pages/runner/runner?raceid=' + app.raceid})
        wx.redirectTo({
          url: '/pages/runner/runner?raceid=' + app.raceid,
          fail:function(res){
            that.setData({debug:JSON.stringify(res)})
          }
        })
     
     
      },
    // ...
    //} //Page()


    2017-05-19
    有用
    回复
登录 后发表内容