微信小程序扫码后跳到指定页面又瞬间跳到首页问题
在发布到正式版后,与客户端联调。经常性会出现扫码后会先跳到二维码的指定页面,然后瞬间跳到首页上;然后退出小程序在扫码后,会一切正常跳转到指定页面。我看瞬间跳转到首页就像点击了返回按钮一样是从左边出来的,但是我项目中唯一强制跳转到首页是另一个页面。百思不得其解。求大佬们提出一些意见或者怎么才能查出问题所在,谢谢。
这是一个页面扫码进来的逻辑,先贴出来。代码里根本没有跳转首页或者返回页面的逻辑
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上的页面,就会跳到首页去,但是有一个二级页面又不会跳。找不到规律了,我知道我说的很乱。。。。哎。