之前做了一个识别大陆营业执照的业务需求,使用微信的orc直接调接口简单方便,可参考我的上一篇文章
uniapp小程序引入身份证识别、营业执照识别_uniappocr支持识别身份证-CSDN博客
百度了一下香港没有营业执照 在香港称为商业登记证 商业登记证是没有法人信息的
废话不多说 下面我们开始
一开始想法也是OCR文字识别 试了很多方法 搜了全网很多文章发现只有识别大陆营业执照的 却没有识别香港营业执照的 那怎么办 自己去吃这个第一个去识别香港营业执照的螃蟹
最后发现腾讯云的智能结构化识别可以做到识别出来 它是云函数 需要云环境
链接在此 往下滑有腾讯云提供了功能体验 各位可以自己尝试一下 甚至可以识别四六级证书
智能结构化OCR_定制模板OCR_自定义文字识别-腾讯云 (tencent.com)
大家可以开通一下这个智能结构化识别 有1000次的免费额度
最重要的就是这个 链接在此
API Explorer - 云 API - 控制台 (tencent.com)
首先在微信小程序点击云开发 创建一个云开发环境
这个环境ID是我们需要的
然后在uniapp的 static目录下新建文件夹cloudfunctions (自己取名字咯)
在manifest.json里mp-weixin里面配置
然后! 最重要的一步 在App.vue里面
这样在微信开发者工具里面能看到了
右键 新建nodejs云函数
自己取个名字 在你创建的云函数的package.json里面加入
"tencentcloud-sdk-nodejs-ocr":"latest"
然后右键在终端中npm install
然后就是index.js里面的配置 可以直接复制
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境
// 云函数入口函数
exports.main = async (event, context) => {
const tencentcloud = require("tencentcloud-sdk-nodejs-ocr");
const OcrClient = tencentcloud.ocr.v20181119.Client;
const clientConfig = {
credential: {
secretId: "你的腾讯云id",
secretKey: "你的腾讯云秘钥",
},
region: "ap-hongkong",
profile: {
httpProfile: {
endpoint: "ocr.tencentcloudapi.com",
},
},
};
const client = new OcrClient(clientConfig);
const params = {
ImageUrl:event.url // event.url 就是你传过来的图片地址
};
return new Promise((resolve, reject) => {
client.SmartStructuralOCRV2(params, function(errMsg, response) {
if (errMsg) {
resolve( errMsg )
}
resolve(response) //识别结果
});
})
}
在uniapp里面用到识别香港商业登记证的地方
wx.cloud.callFunction({
name: 'test', //这个name就是上面新建nodejs云函数起的名字
data: { //data 就是传给云函数的值
url: this.imgUrl //自己定义的字段
}
})
.then(res => {
console.log("res--", res) // res 就是识别的结果
})
建议本地调试一下云函数 确定没问题再上传
注意请用https路径的图片地址 不要用http的 会报错
文字识别 智能结构化识别V2-服务端 API 文档-文档中心-腾讯云 (tencent.com)
(这个链接里面有它的错误码和传递参数详细介绍 )
小伙伴们有什么不懂的地方可以留言 或者私信我