Taro使用微信OCR插件无法调用onSuccess回调问题

366 阅读1分钟

1、小程序后台添加插件(AppID=wx4418e3e031e551b

2、需要在开放社区购买相应的套餐

3、在Taro中使用(回调函数的坑点):首先在app.config.js中添加如下代码


        ocrPlugin: {

          version: "3.1.2",

          provider: "wx4418e3e031e551be",

        },

      },
      

页面的a.config.js添加:

usingComponents: {

    "ocr-navigator": "plugin://ocrPlugin/ocr-navigator",

  },

这里以使用识别身份证为例:

<ocr-navigator
    onOnSuccess={this._onSuccess}
    certificateType="idCard"
    opposite={false}
    bindonSuccess
  >
    <Button type="primary">身份证正面识别</Button>
  </ocr-navigheng

关键就在onOnSuccessbindonSuccess了,微信原生中onSuccess方法是通过bind:onSuccess方法调用的,理论上转换为taro事件,直接是:onOnSuccess即可,但是实际调用中会发现,onOnSuccess根本不起作用,于是乎重读了一遍Taro关于## 使用原生组件 ##组件的模块:

图片.png

根据上表,需要使用一个 bind 属性进行 hack 处理,所以增加了bindonSuccess,此时会发现onOnSuccess回调起作用了