具体操作步骤:
1.首先调起wx.chooseMedia(),类型选择image图片,选择要上传识别的身份证
2.其次使用OCR方法wx.serviceMarket.invokeService()解析图片内容(可选择同步或异步)
3.登录当前小程序微信公众平台,设置-第三方设置-插件管理,点击OCR支持详情-开发文档
4.点击“开放社区”,购买OCR权限 (资费情况详见微信服务市场规格,100次/天为免费可0元购)
5.选择授权平台、小程序,提交订单,即可在开发中使用API功能解析图片
代码如下:
wx.chooseMedia({
count: 1,
mediaType: ['image'],
success: async function (res) {
console.log('res', res);
wx.showLoading({
title: '加载中',
})
try {
wx.serviceMarket.invokeService({
service: 'wx79ac3de8be320b71',
api: 'OcrAllInOne',
data: {
// 用 CDN 方法标记要上传并转换成 HTTP URL 的文件
img_url: new wx.serviceMarket.CDN({
type: 'filePath',
filePath: res.tempFiles[0].tempFilePath,
}),
data_type: 3,
ocr_type: 1
},
}).then(result => {
wx.hideLoading()
console.log('invokeService-success----', result)
that.setData({
idcardname: result.data.idcard_res.name.text,
idcardno: result.data.idcard_res.id.text,
})
// /* canvas绘图压缩 第二个参数区分正反面:正面人像-1;反面国徽-0; */
// that.toCanvas(res.tempFiles[0].tempFilePath, 1)
// /* 今日orc解析身份信息次数限制+1 */
// that.verifyIdCardLimit(1, false)
}).catch(error => {
// /* 今日orc解析身份信息次数限制+1 */
// that.verifyIdCardLimit(1, true)
console.error('invokeService fail----OcrAllInOne扫描解析失败----', error)
})
} catch (err) {
console.error('catch 事件--------', err)
}
},
fail: function (res) { },
complete: function (res) { },
})