? ? 項目中有一個識別身份證的需求,經(jīng)過調(diào)研,最后決定使用微信小程序ocr插件進行開發(fā)。
一:首先登錄小程序公眾平臺。
1:進入設(shè)置> 第三方設(shè)置。
?
2:添加ocr插件。
3:添加完后,需要領(lǐng)取免費額度,100次/天。?
https://fuwu.weixin.qq.com/service/detail/000ce4cec24ca026d37900ed551415
?注意:如果沒購買的話,調(diào)用會報錯。
二:功能開發(fā)
ocr識別有兩種方式,一種是按照官方文檔。
1:首先在app.json里配置ocr-plugin.
"plugins": {
"ocr-plugin": {
"version": "3.0.6",
"provider": "wx4418e3e031e551be"
}
},
2:在業(yè)務(wù)組件中引入插件。
"usingComponents": {
"ocr-navigator": "plugin://ocr-plugin/ocr-navigator"
},
3:使用
<ocr-navigator bind:onSuccess="success" certificateType="idCard" opposite="{{false}}">
<view class="btn">識別</view>
</ocr-navigator>
success(e) {
console.log(e) //身份證信息
},
這種方式可以進行掃描,并且可以支持上傳身份證圖片進行掃描。
由于我們的業(yè)務(wù)是自定義上傳圖片識別出身份信息后進行對應(yīng)的業(yè)務(wù)操作,所以采用自定義調(diào)用ocr api能力的方式來進行開發(fā)。
文檔地址:?
https://fuwu.weixin.qq.com/service/detail/000ce4cec24ca026d37900ed551415
?
?利用van-uploader上傳身份證圖片后拿到file對象,調(diào)用api進行識別文章來源:http://www.zghlxwxcb.cn/news/detail-794742.html
// 文件讀取后
afterRead(e) {
let _key = e.currentTarget.dataset.key;
_key = `${_key}Img[0]`
let { file } = e.detail || {};
let _file = {
url: file.url,
name: "身份證人像面",
};
this.setData({
[_key]: _file,
});
this.invokeService(_file, e.currentTarget.dataset.key)
console.log(this.data, "文件信息");
},
async invokeService (file,_key) {
// 調(diào)用ocr
try {
const invokeRes = await wx.serviceMarket.invokeService({
service: 'wx79ac3de8be320b71',
api: 'OcrAllInOne',
data: {
// 用 CDN 方法標記要上傳并轉(zhuǎn)換成 HTTP URL 的文件
img_url: new wx.serviceMarket.CDN({
type: 'filePath',
filePath: file.url,
}),
data_type: 3,
ocr_type: 1
},
})
console.log('invokeService success', invokeRes)
} catch (error) {
console.log(error,'error')
}
},
拿到invokeRes返回對象就可以進行后續(xù)業(yè)務(wù)操作了,注意身份證國徽面識別也要調(diào)用一次invokeService 方法拿到證件有效期等信息,然后對數(shù)據(jù)自行處理成所需要的格式。文章來源地址http://www.zghlxwxcb.cn/news/detail-794742.html
到了這里,關(guān)于微信小程序?qū)崿F(xiàn)身份證識別-ocr的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!