收藏
回答

camera 组件的scancode事件会多次触发

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug camera 客户端 7.0.3 2.6.5

- 当前 Bug 的表现(可附上截图)

iphone 6s plus

ios 12.2

微信7.0.3

使用了camera的扫码模式,在对着二维码扫码时候会出现bindscancode触发多次的情况,我现在用loading来控制也能出现跳转了两次页面的情况


- 预期表现

bindscancode 不要一直触发,扫码成功触发一次就好了

- 复现路径


- 提供一个最简复现 Demo


最后一次编辑于  2019-04-11
回答关注问题邀请回答
收藏

6 个回答

  • githuo
    githuo
    2020-03-08

    大家好,我是githuo.这个问题我看其他人是已经解决了,方案如下

      data: {
        scaned: 0
      },  
    scancode(e){
        let scaned = this.data.scaned;
        if(!scaned){
          this.setData({
            scaned:!0
          },function(){
            let detail = JSON.stringify(e.detail.result);
            wx.navigateTo({
              url: '/pages/fpcy2/fpcy?detail='+detail,
            })
          })
        }  
      },
     onShow(){
        this.setData({
          scaned:0
        })
      }
    
    2020-03-08
    有用 2
    回复 2
    • X&Y
      X&Y
      2020-06-06
      感谢
      2020-06-06
      回复
    • 深拥你@
      深拥你@
      2020-12-18
      感谢
      2020-12-18
      回复
  • 向工
    向工
    2021-11-02

    这个camera scanCode并没有提供参数来设置扫码开关或者间隔时间,目前只能自己在业务逻辑中自定义一个状态值,通过状态值和setTimeout来模拟开关和间隔,但是并没有从根本上解决scancode函数一秒钟被调用N次的事实,只是让后续的调用不进入具体的业务处理逻辑中。

    2021-11-02
    有用
    回复
  • 🔥 nEVER
    🔥 nEVER
    2021-05-14

    这个camera 组件扫码模式scancode事件

    能重复返回结果,为啥没有回调函数呢???


    2021-05-14
    有用
    回复
  • 王雷-树莓科技
    王雷-树莓科技
    2020-03-07

    楼主这个问题后来怎么解决的啊 我也遇到了

    2020-03-07
    有用
    回复
  • 骸
    2019-04-11

    我决定直接setTimeout 1000ms算了

    2019-04-11
    有用
    回复 2
    • githuo
      githuo
      2020-03-08
      我现在也遇到这个问题,扫描成功之后,连续触发了多次那个函数.就算我用setTimeout和clearTimeout也还是会出现这种情况.请问你的问题解决了么?
      2020-03-08
      回复
    • 叮咚叮咚
      叮咚叮咚
      2023-11-13
      没用,他是触发事件  会一直触发的
      2023-11-13
      回复
  • 是小白啊
    是小白啊
    2019-04-11

    麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2019-04-11
    有用
    回复 2
登录 后发表内容