收藏
回答

ocr.driverLicense 问题

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 微信iOS客户端 wxa10f8b0c5c0f2be0 ycanide-4gunqo7ae1b42a9d 2.26.2

OpenID: o2LIQ5lTHpiAdRAGQLOdcKsc-u-w

1)云函数部分:

1.1) 新建Node.js云函数,命名:ocr;

点击鼠标右键,选择 在外部窗口终端打开 ,执行以下命令,安装依赖:

npm init

npm install --save wx-server-sdk@latest

1.2)ocr目录下: config.json,增加:"ocr.driverLicense"

{

"permissions": {

"openapi": [

"ocr.driverLicense" // 增加部分

]

}

}

1.3)ocr 目录下: index.js,代码:

// 云函数入口文件

const cloud = require('wx-server-sdk')


// cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境

cloud.init({ env: "ycanide-4gunqo7ae1b42a9d"}) // 使用当前云环境


// 云函数入口函数

exports.main = async (event, context) => {

const wxContext = cloud.getWXContext()

console.log(new Date, "ocr云函数:", wxContext, event.imgUrl)

try {

const result = await cloud.openapi.ocr.driverLicense({

"type": 'photo',

"imgUrl": event.imgUrl

})

console.log(new Date, "ocr云函数执行完毕:", event.imgUrl, result)

return result

} catch (err) {

console.log(new Date, "ocr云函数执行错误:", err)

return err

}

}

1.4)ocr目录,

点击鼠标右键, 上传并部署:云端安装依赖(不上传node_modules);

   点击鼠标右键, 上传并部署:所有文件;

1.5)

经过本地调试,参数:

{

"imgUrl": *** 填驾驶证路径

}

调试成功。


2)小程序端 部分:

chooseImage() {

const that = this;

wx.chooseMedia({

count: 1,

mediaType: 'image',

sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有

sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有

success(res) {

// 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片

var tempPic = res.tempFiles[0].tempFilePath; //临时图片路径

// 取文件名

console.log(tempPic);

let file = tempPic.substring(tempPic.lastIndexOf('/') + 1, tempPic.length); // tempPic.lastIndexOf('.') );

console.log(file, tempPic.length);

// 上传到云端

wx.cloud.uploadFile({

cloudPath: 'vichenter/drvlic/' + file,

filePath: tempPic, // 文件路径

config: {

env: app.data.envId

}

}).then(res => {

console.log("res.fileID", res.fileID);

// 上传成功 get resource ID = res.fileID, 转换为URL

wx.cloud.getTempFileURL({

fileList: [{

fileID: res.fileID

}]

}).then(res => {

// get temp file URL

const tempFileURL = res.fileList[0].tempFileURL;

let date = new Date();

console.log(date, "进入 OCR 识别阶段, imgUrl=[" + tempFileURL + "]")

// OCR 识别 驾驶证 函数

wx.cloud.callFunction({

name: 'ocr',

data: {

"imgUrl": tempFileURL

},

success: res => {

console.log('识别成功:', res.result.name, res.result.idNum, res.result.carClass, res.result.officialSeal, 'URL:' + tempFileURL, res);

}

})

}).catch(error => {

// handle error

})

}).catch(error => {

// handle error

})

},

});

},



问题描述:

2)小程序端 部分, 上传的图片,偶尔可以识别,大部分时间识别不了。

错误提示如下:

2022-10-23T04:15:18.831Z ocr云函数执行错误: {

"errCode": -604102,

"errMsg": "system error: error code: -604102"

}

REPORT RequestId:f633645a-ab41-4c13-afab-f61cdfa7e8cb Duration:2075ms Memory:256MB MemUsage:24.078568MB

END


最后一次编辑于  2022-10-23
回答关注问题邀请回答
收藏
登录 后发表内容