官方文档 文字识别 跑通 Demo(小程序) - 客户端 SDK 接入文档 - 文档中心 - 腾讯云

可以先按照腾讯云的demo 去跑通一下 (记得先开通哈)

一、代码解析

在demo中主要就是 id-card 文件去控制这识别 及显隐 ocrsdk/pages/id-card/id-card

在代码中就是通过 wx:if 来控制 相机组件  是否是显示和隐藏  showCamera

上传身份证之后 发现控制台并没有输出 在哪里调用的 所以我们要去它的内部去找出它识别的位置代码

在id-card 第一行中  require('../behaviors/multi-side-behavior'); 引入了一个js文件  而它里面有一个 onOcrSuccess 方法 这个方法就是识别出来的内容

二、引入到自己的项目

在自己的项目中并不想 要官方内置的样式  所以这时候只能去手动改官方的源码  实现自己想要的效果

先按照 官方提供的基础操作  文字识别 快速集成(小程序 ) - 客户端 SDK 接入文档 - 文档中心 - 腾讯云

总共分为三部分

1.引入官方sdk到根目录

2.在想要识别的地方引入到文件中

3. 修改官方代码 改成自己想要的效果

注意在配置sdk的参数时 腾讯云的秘钥要从服务端获取 保留在前端是不安全的~

接下来直接说如何放到自己项目下

先给身份证正面 来一个点击事件

 uploadZ(){wx.setStorageSync('id-arrow', 'FRONT')ocrSdk.start({secretId:that.data.SecretId, //接口获取的秘钥secretKey:that.data.SecretKey,ocrType: ocrSdk.OcrType.ID_CARDF,ocrOption: {Config: {"CropIdCard": true,"CropPortrait": true}},cameraConfig: {autoMode: true,maxTry: 3,},resultPage: true,resultPageConfig: {modifiable: true,},theme: 'primary',success: (res) => {console.log('ocr result is:', res)// wx.navigateTo({//   url: '您的小程序页面',// })wx.navigateTo({url: '/pages/mine/settlementDetails/settlementDetails',})},fail: (error)=> {console.log('ocr failed:', error)}});},

wx.setStorageSync('id-arrow', 'FRONT') 在本地存储一个变量 来检测区分正反面   因为是官方内置的sdk 没办法携带参数 到识别页面

接下来就会触发 id-card.js文件 我们在onLoad 中去执行 调用代码 不通过点击事件去调用

id-card.js

  onLoad(e){this.onItemTap( wx.getStorageSync('id-arrow'))},
onItemTap(side) {// const { side } = e.currentTarget.dataset;const { ocrResponse } = this.data;// 清除上次结果if (ocrResponse) {let temp = {};Object.keys(ocrResponse).forEach((item) => {if (ocrResponse[item].side !== side) {temp[item] = ocrResponse[item];}});if (Object.keys(temp).length === 0) {temp = null;}this.setData({ ocrResponse: temp });console.log(ocrResponse,'信息');}this.setData({showCamera: true,selectedSide: side,});},

behaviors/multi-side-behavior.js

在执行成功的文件中 判断是正反面 从使用小程序的页面栈去赋值上一页的变量  就可以啦

 onOcrSuccess(detail, res) {console.log(detail,res,'数据');if(detail.side=="FRONT"){const pages  = getCurrentPages()pages[pages.length-2].__data__.form.f_id_card=respages[pages.length-2].__data__.frontImage=detail.filePath}else if(detail.side=='BACK'){const pages  = getCurrentPages()pages[pages.length-2].__data__.form.b_id_card=respages[pages.length-2].__data__.BackImage=detail.filePath}wx.navigateBack({delta: 0,})
}

微信小程序 腾讯云ocr 身份证识别相关推荐

  1. 【中级】 微信小程序 - 腾讯云 - wafer2 - PHP - DEMO - 003 - 源码分析 - 01 - 文件组成详细分析

    1 前言: 本文原创,欢迎转载,但是,务必保持原文并且给出原文链接. 微信小程序 - 腾讯云 - PHP - DEMO 是微信提供的一个微信小程序和腾讯云小程序云服务wafer 进行接口的例子. 本仓 ...

  2. php qcloud sdk weapp_微信小程序腾讯云php后台解决方案

    微信小程序腾讯云php后台解决方案 微信小程序前段需要添加必要的文件以配合后端 (1)wafer2-client-sdk sdk提供了几种接口包括登陆,获取用户openid,图片上传等 (2)conf ...

  3. Mpvue+koa开发微信小程序——腾讯云开发环境的搭建及部署实现真机测试

    为什么写这篇文章? 之前写过一篇文章:微信小程序开发错误:LoginError {type: "ERR_WX_GET_USER_INFO"}解决方法 有的伙伴在这篇文章中评论为什么 ...

  4. 【中级】【后台】 微信小程序 - 腾讯云 - wafer2 - PHP - DEMO - 003 - 源码分析 - 03 - 腾讯后台初始化 和 CodeIgniter

    本文原创,欢迎转载,但是,务必保持原文并且给出原文链接. 前言: 本节对Wafer 服务端 SDK 是腾讯云为微信小程序开发者提供的快速开发库,SDK 封装了以下功能供小程序开发者快速调用的源码的初始 ...

  5. 【基础问题】微信小程序 - 腾讯云 - 一站式方案 - PHP - wafer 和 wafer2的区别和wafer2的实践

    前言: 项目目前选择了腾讯小程序一站式部署,反而有点懵了,服务器怎么配置呢?好像接口没有,查询后,发现有的Demo有服务器配置有的没有,折腾观察了一会,原来有两个版本wafer.我把关键的地方高亮了, ...

  6. 【非常基础实践】 微信小程序 - 腾讯云 - PHP - DEMO - 002 - 云环境搭建和开通指引- 实践

    前言: 微信小程序最快捷的方式应该还是利用腾讯云做后台,本文对开启微信小程序和腾讯云的绑定实践了一下. 包括安装,开通,开发环境配置,生产环境配置.很大一部分内容来自官网 1 注册微信小程序(官网贴图 ...

  7. 【多人会议功能】uniapp - 微信小程序 - 腾讯云

    目的:uniapp微信小程序通过腾讯云实现多人会议功能. 效果展示: 功能实现: 前提条件: 注册腾讯云 账号,并完成 实名认证. 推拉流标签不支持个人小程序,要求申请的企业类微信小程序. 步骤一:开 ...

  8. 微信小程序---腾讯云cos的使用---前端上传图片+后端生成临时密钥

    0. 腾讯云cos介绍: - 第一阶段:文件服务器,将文件存储在某个服务器(目录结构的划分). - 第二阶段:- 文件存储,将文件存储在某个服务器(目录结构的划分).- 对象存储,优化存储和操作优化( ...

  9. 微信小程序 腾讯云 mysql 初始_微信小程序初始化怎么处理?小程序服务器域名配置...

    小程序初始化配置指引 假如您已成功创建了小程序资源,需要对现有的资源进行一些简单配置后,才能让小程序跑起来 未创建过资源的用户可以先在小程序控制台进行创建 1.配置微信小程序通信域名 首先我们在小程序 ...

  10. 微信小程序使用阿里云ocr识别名片信息

    事先说明,博文中只是一个简单的demo.阿里云的ocr识别有一定误差,图片的清晰光暗程度也会影响识别结果. 更完善的ocr识别名片程序,本人有两种想法: 一种是使用全能名片王的api,有收费部分. 一 ...

最新文章

  1. Oracle创建表空间、用户、分配权限语句
  2. JS获取当前日期时间并定时刷新
  3. SAP_常用业务数据表
  4. SQL Server 2008 R2 系统配置检查器的检查参数和妨碍性问题的解决办法
  5. JZOJ 1980. 【2011集训队出题】Construct
  6. 一个Option请求引发的深度解析
  7. 为何 Canvas 内元素动画总是在颤抖?
  8. vueCli3中使用代理,点击页面的刷新按钮时报错
  9. linux系统为什么很重要,为什么Linux系统始终取代不了Windows?这4个原因80%的人不知道!...
  10. PYTHON: PYENV, PYVENV, VIRTUALENV – WHAT’S THE DIFFERENCE?
  11. 不想“被out”?来看看现在的开发者都在做什么
  12. 2019JS必看面试题
  13. Dubbo实战入门,良心详解之作
  14. 在腾讯轻量云上搭建 CS:GO 服务器
  15. python模拟登录淘宝直通车_淘宝直通车推广计划
  16. 解决插入word文档中的图片变得不清晰问题
  17. 计算机汉字字形通常有两种字形编码,汉字字形编码有哪两种类型?各有什么特点?...
  18. GitHub 为什么很慢很卡
  19. 计算机毕业设计Java在线选课系统设计(系统+程序+mysql数据库+Lw文档)
  20. 2012第三届蓝桥杯预赛题

热门文章

  1. php5 mysql一键安装包_常用PHP5运行环境一键安装包
  2. 收看IT播吧吉米老师iptables讲座
  3. MATLAB机械动力分析,用MATLAB实现机械动力学
  4. VHDL实验三:一位全加器、四选一多路选择器
  5. 基于J2EE的门诊挂号收费系统设计与实现.rar(毕业论文+程序源码+数据库文件)
  6. 怎样打开.jar格式文件,怎样运行.jar格式文件
  7. 用Java实现多线程下载
  8. 什么是CSS网页切图
  9. 基于51单片机超声波测距仪倒车雷达报警器汽车防撞系统套件
  10. 基于JavaSpringMvc+mybatis实现学生信息管理系统