tabbar设置了A、B、C共3个导航页面,其中A是首页,B是扫一扫。
B页面在onshow中调用了微信扫一扫(wx.scanCode),当获得结果时(无论success还是fail)都跳转到A页面。
A打开B是switchTab,B获得结果后也是switchTab到A。
----------------------
以上仅为流程验证,没有写其它业务逻辑
----------------------
问题点:
A点击B扫码后跳到A,然后立即再打开摄像头重复执行一次。每次点击B,都会执行2次。
环境用了windows下的开发工具+苹果手机验证,都是重复
望大家能帮忙给点思路
目前已通过其他方式解决,备注一下,也提供给其他遇到同类问题的人。
------------------
把调用写在onload里面,然后switchTab换成relaunch。
是否在onload也执行了一次函数
没有,这个页面就只在onshow中写了一个wx.scanCode,没有其它代码。onshow中写的代码片段如下:
-------------------------
onShow:function(){
wx.scanCode({
onlyFromCamera:true,
success:(res) => {
wx.switchTab({
url:'../index/index'
})
}
fail:(res) => {
wx.switchTab({
url:'../index/index'
})
}
})
}
请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
wechatide://minicode/1KLNermg762I
,你这是写在onShow里面的。当你页面弹出扫描窗口返回的时候,是会再次触发onShoe的函数的