<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>
- 发布:2022-01-11 12:10
- 更新:2023-11-02 11:18
- 阅读:1482
产品分类: uniapp/小程序/阿里
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: Windows7 旗舰版
HBuilderX类型: 正式
HBuilderX版本号: 3.3.5
第三方开发者工具版本号: 支付宝小程序开发工具 2.7.2
基础库版本号: 2.7.9
项目创建方式: HBuilderX
示例代码:
操作步骤:
插件使用可以参考文档:链接地址
onComplete事件触发不了。
插件使用可以参考文档:链接地址
onComplete事件触发不了。
预期结果:
正常调用onComplete中的方法
正常调用onComplete中的方法
实际结果:
onComplete中的方法不会被调用。
onComplete中的方法不会被调用。
bug描述:
支付宝小程序官方插件"支付宝小程序OCR-身份证识别插件",其中有个onComplete事件,返回的信息中没有data数据,且不能触发。
插件使用可以参考文档:链接地址
查看代码后,发现uni小程序调用对应的方法是经过dataset中的event-opts来判断
最佳回复
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