收藏
回答

微信小程序扫码后跳到指定页面又瞬间跳到首页问题

    在发布到正式版后,与客户端联调。经常性会出现扫码后会先跳到二维码的指定页面,然后瞬间跳到首页上;然后退出小程序在扫码后,会一切正常跳转到指定页面。我看瞬间跳转到首页就像点击了返回按钮一样是从左边出来的,但是我项目中唯一强制跳转到首页是另一个页面。百思不得其解。求大佬们提出一些意见或者怎么才能查出问题所在,谢谢。


        这是一个页面扫码进来的逻辑,先贴出来。代码里根本没有跳转首页或者返回页面的逻辑


onLoad: function (options) {

// 如果本地有这个证明是扫码,这个会在app.js中onshow清空和列表点击清空。

   if (wx.getStorageSync("isScanOption")) {
     options = wx.getStorageSync("isScanOption");
   }
   // 扫描进来的_meetingGuid,mac地址,isScan 是否是扫码
   let [meetingGuid, clientMac, isScan] = ['', '', 0];
   //如果存在证明是扫码进来 赋值给globalData
   if (options && options.q) {
     const scene = decodeURIComponent(options.q);
     clientMac = this.getUrlParam(scene, 'clientMac') //mac地址
     meetingGuid = this.getUrlParam(scene, 'meetingGuid');
     app.globalData.meetingGuid = meetingGuid;
     console.log("创建投票-scene:::::::::", scene)
 
     //如果是扫码进来的要保存下来参数,因为如果是未登录跳到登录或者跳到完善信息的页面,在回来会不执行onload方法。所以要在onShow重新调用onload方法
     wx.setStorageSync("isScanOption", options);
     isScan = 1;
   } else {
     isScan = 0;
     // wx.setStorageSync("createIsScanOption", null);
     clientMac = ""
     meetingGuid = app.globalData.meetingGuid;
   }
   this.setData({
     isScan: isScan
   })
   this.getMeetInfo(meetingGuid, clientMac, isScan, 2);
   // 如果存在 edit //表编辑页面需要获取参数
   if (options && options.edit) {
     this.data.edit = true;
     this.getVoteInfo(options.voteGuid);
   }
 },


我发现了这个规律,因为我在某个页面写了个

onUnload: function () {
   wx.switchTab({
     url: '/pages/meet/meet'
   })
 },

当我扫码后进行一系列操作进入这个页面,退出小程序在扫码,就会出现以上我陈述的问题。

我好像明白逻辑了。他扫码后首先进入这个页面,然后跳转到扫码指定的路径时,就会执行onUnload这个方法,好笨哦,终于理清了。


再次提问,然而我的逻辑判断是错误的,只要退出小程序时上一个页面不是tab上的页面,就会跳到首页去,但是有一个二级页面又不会跳。找不到规律了,我知道我说的很乱。。。。哎。

最后一次编辑于  06-20
回答关注问题邀请回答
收藏

1 个回答

  • 拾忆
    拾忆
    06-20

    没有复现的代码片段,猜不出来

    06-20
    赞同
    回复 4
    • hunger will make head clear
      hunger will make head clear
      06-20

      您好,刚贴出来一个扫码逻辑处理,但是我都没有返回页面什么的。

      06-20
      回复
    • 胡泽涵
      胡泽涵
      07-23
      我今天也碰到这个问题了,二维码明明指定了一个页面,是以前版本的首页,但是这个版本我修改了默认页面,结果就直接跳到现在的默认首页,还带参数。然后再瞬间闪到目标页
      07-23
      回复
    • 胡泽涵
      胡泽涵
      07-23回复胡泽涵
      这样带来的问题就是,假如我现在的首页有一些请求参数和目标页参数名一致,但是值表示的东西不同,就是导致默认页先跑一部分逻辑,然后报错卡住
      07-23
      回复
    • 胡泽涵
      胡泽涵
      07-23回复胡泽涵
      跳转失败
      07-23
      回复