- ocr.driverLicense 问题
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 - 云开发 /发送短信 接口 调用失败,错误:501007
https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/cloudbase/sendCloudBaseSms.html小游戏和个人类型的小程序暂不支持使用。 云函数的各种参数将人搞得晕头转向,不知道要填哪个。 1)短信模版 没有配置的地方,template_id , template_param_list 不知道要怎么填,开放文档没有提供,但要求必填? 2)开放文档的 请求参数 与 请求数据示例 中提到的 phoneNumberList / phone_number_list 等,到底该用哪个? 代码: try { const result = await cloud.openapi.cloudbase.sendSms({ env: 'ycanide-4gunqo7ae1b42a9d',//在云开发控制台中的环境ID content: '测试短信!', //短信内容 phone_number_list: [ "+86"+event.name //要发送的手机号码,我这是方法中传过来的号码,可以先写死测试 ], sms_type: 'Marketing', path: '/index.html', use_short_name: true }) return result } catch (err) { return err } 报错: { errCode: -501007, errMsg: "openapi.cloudbase.sendSms:fail sendAsyncSmsAndWait…InvalidParameter] rid: 634b7af8-013f56bb-3918168e"}errCode: -501007errMsg: "openapi.cloudbase.sendSms:fail sendAsyncSmsAndWait failed, err=[100003]async send failed, err==consumeUsage failed, err=[100003]配额不足 TcbCode: [InvalidParameter] rid: 634b7af8-013f56bb-3918168e"__proto__: Object
2022-10-16