具体表现为:
一、在移动网络下,iPhone 5(不确定)提交一次需耗时 10 - 15 秒,iPhone 11 耗时 3 - 5 秒左右,尚在可接受范围内;
二、在移动网络下,安卓机型(不论高端、低端)极大概率返回 callcloudfunction timeout,同时云函数日志上不会出现此次调用记录(但同一手机、同网络下,其他云函数的操作不会有超时的问题);
三、之前在电信网络下,安卓机型可以做到较快地提交,今日再次测试,同样返回超时;
四、安卓的识别率低于苹果,体验排名 iPhone 11 > 旧款 iPhone >> Android
代码如下:
// item 为 chooseImage 返回的图片 path let buffer = wx.getFileSystemManager().readFileSync(item) wx.cloud.callFunction({ name: 'printedTextOCR' , data: { buffer } }).then( r => { console.log(r) } ) // 云函数 const cloud = require( 'wx-server-sdk' ) cloud.init() exports.main = async (event, context) => { return await cloud.openapi.ocr.printedText({ type: 'photo' , img: { contentType: 'image/jpg' , value: Buffer.from(event.buffer) } }).then(r => r). catch (e => e) } |
请官方人员和遇到过类似情形的开发人员帮助,谢谢!
在客户端采集的根据手机情况的图片大小有差异,从客户端到云端需要一定耗时,建议先在客户端上传图片,上传完成拿到 url 后再到云端用,用完再删除