8***@qq.com
8***@qq.com
  • 发布:2022-01-11 12:10
  • 更新:2023-11-02 11:18
  • 阅读:1480

【报Bug】支付宝小程序官方小程序OCR-身份证识别插件事件调用无效

分类:uni-app

产品分类: uniapp/小程序/阿里

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows7 旗舰版

HBuilderX类型: 正式

HBuilderX版本号: 3.3.5

第三方开发者工具版本号: 支付宝小程序开发工具 2.7.2

基础库版本号: 2.7.9

项目创建方式: HBuilderX

示例代码:
<template>  
    <view>  
        <ocr-id type="{{type}}" title="{{ocrTitle}}" @onComplete="onComplete" imageOutput="{{imageOutput}}" />  
    </view>  
</template>  

<script>  
    export default {  
        data() {  
            return {  
                type: 'avatar', //type参数为”emblem“,或”avatar“  
                imageOutput: 'roi', //imageOutput参数为“global”或者“roi”   
                ocrTitle: '识别身份证'  
            }  
        },  
        methods: {  
            onComplete(data) {  
                console.log('onCompleteOcr');  
                console.log(JSON.stringify(data.result));  
                // var img = "data:image/jpeg;base64," + data.image.replace(/\s/g, '');  
                // app.imageData = img;  

                // my.reLaunch({  
                //  url: `/pages/index/index?result=${JSON.stringify(data.result)}`  
                // });  
            },  
        },  
    }  
</script>  

<style>  

</style>

操作步骤:

插件使用可以参考文档:链接地址
onComplete事件触发不了。

预期结果:

正常调用onComplete中的方法

实际结果:

onComplete中的方法不会被调用。

bug描述:

支付宝小程序官方插件"支付宝小程序OCR-身份证识别插件",其中有个onComplete事件,返回的信息中没有data数据,且不能触发。
插件使用可以参考文档:链接地址

查看代码后,发现uni小程序调用对应的方法是经过dataset中的event-opts来判断

2022-01-11 12:10 负责人:无 分享
已邀请:

最佳回复

DCloud_UNI_GSQ

DCloud_UNI_GSQ

onEventName 转换为 @eventName
也就是@onComplete="onComplete" 改为 @complete="onComplete" ,另外注意启用 component2

问题确认,已加分,新版已修复

旧版本临时解决办法:

  • HBuilderX 项目:在 HBuilderX-Alpha.app/Contents/HBuilderX/plugins/uniapp-cli 目录下执行 npm install caniuse-lite@latest @dcloudio/types@latest @dcloudio/uni-migration@alpha @dcloudio/uni-stat@alpha @dcloudio/uni-cli-shared@alpha @dcloudio/vue-cli-plugin-hbuilderx@alpha @dcloudio/vue-cli-plugin-uni@alpha @dcloudio/webpack-uni-mp-loader@alpha @dcloudio/webpack-uni-pages-loader@alpha @dcloudio/uni-h5@alpha @dcloudio/uni-mp-alipay@alpha @dcloudio/uni-mp-baidu@alpha @dcloudio/uni-mp-weixin@alpha @dcloudio/uni-mp-toutiao@alpha @dcloudio/uni-app-plus@alpha @dcloudio/uni-mp-qq@alpha @dcloudio/uni-template-compiler@alpha @dcloudio/vue-cli-plugin-uni-optimize@alpha @dcloudio/uni-automator@alpha @dcloudio/uni-mp-360@alpha @dcloudio/uni-quickapp-webview@alpha @dcloudio/uni-i18n@alpha @dcloudio/uni-cli-i18n@alpha @dcloudio/uni-mp-kuaishou@alpha @dcloudio/uni-mp-lark@alpha @dcloudio/uni-mp-jd@alpha @dcloudio/uni-mp-vue@alpha
  • CLI 项目:在项目下执行 npx @dcloudio/uvm alpha
  • 8***@qq.com (作者)

    谢谢 这个有问题 换了种方式已解决

    2022-01-11 15:57

  • DCloud_UNI_GSQ

    回复 8***@qq.com: 是否启用了 component2

    2022-01-11 16:07

  • 8***@qq.com (作者)

    回复 8***@qq.com: 不是,就用支付宝小程序原生的方法调用

    2022-01-11 16:28

  • 8***@qq.com (作者)

    然后再用this.$scope.onCompleteOcr = this.onCompleteOcr.bind(this)绑定就可以了

    2022-01-11 16:30

  • DCloud_UNI_GSQ

    回复 8***@qq.com: 不建议此方式,你检查一下是否启用了component2,如未启用,将其启用

    2022-01-11 16:34

  • 8***@qq.com (作者)

    回复 DCloud_UNI_GSQ: component2之前一直默认启用的,但是用@complete="onComplete"会提示事件信息不存在

    2022-01-11 16:39

  • DCloud_UNI_GSQ

    回复 8***@qq.com: 回复内容已更新

    2022-01-18 17:55

1***@163.com

1***@163.com

我也遇到了这个问题,使用一楼方法会报事件信息不存在,楼主是怎么解决的

5***@qq.com

5***@qq.com

我也遇到了这个问题,一楼置顶的回复还是不行,会报事件信息不存在

q***@sina.com

q***@sina.com

请问大佬们拿到了dataset中的event-opts(eventOpts:onCompleteOcr)后再如何处理呢?

要回复问题请先登录注册