首先要有阿里云账号,(很方便可以只有用支付宝扫码登录),购买套餐之前需要实名认证。
1、阿里云账号实名认证:
鼠标悬浮在右上角账号头像,选择实名认证
,选择左边栏的实名认证,根据提示一步步进行操作
2、在阿里云云市场搜索阿里云印刷身份证识别
3、点击查看详情
,进入购买
咨询阅读产品介绍文档,
查询API调用认证信息
购买成功后,您的认证信息是由API网关统一创建的,可以使用两种方式查询到您的API调用认证信息。
在云市场控制台中查询
登录云市场控制台,在已购买的服务中可以查看到所有购买成功的API商品情况,下图红框中的就是AppKey/AppSecret,AppCode的信息。
在API网关控制台中查询,在顶部搜索栏直接搜索API网关,登录API网关控制台。
在左侧导航栏选择调用API > 应用管理,找到购买成功后为您创建的应用。
单击目标应用,进入应用详情,可以看到AppKey/AppSecret,AppCode等信息,此调用认证信息和在云市场控制台上一致。
您购买的API商品会发布在不同的Region下,因此可以在各个Region下找到对应的应用。
AppCode是需要放在header
,注意APPCODE和AppCode之间一定要有个英文半角空格
否则接口返回400
header: {'Authorization': 'APPCODE 你的AppCode' //APPCODE值
请求方式为POST,返回的数据格式为JSON,请求时的参数主要有两个,
一个是image
识别图片的base64码,
另一个是参数side
要识别身份证的正面还是反面(face: 正面; back: 反面),我这里只需要识别正面。
将图片Path转为Base64的插件:pathToBase64
npm安装
npm i image-tools --save
文件内引入
import { pathToBase64, base64ToPath } from 'image-tools'
goCuttingScan() {let _this = thislet configure = "{'side':'face'}" //face正面、back反面uni.chooseImage({count: 1,sizeType: ['original'],sourceType: ['album'], //从相册选取success: (res) => {// console.log(res);const tempFilePaths = res.tempFilePaths;pathToBase64(tempFilePaths[0]).then(base64 => {console.log('11', base64)let str = base64.substring(base64.indexOf(',') + 1)// console.log(str);var json = {"image": str,"configure": configure};// console.log(json)uni.request({url: 'https://cardnumber.market.alicloudapi.com/rest/160601/ocr/ocr_idcard.json', //测试apidataType: 'json',// 注意APPCODE和AppCode之间一定要有个英文半角空格否则接口返回400header: {'Authorization': 'APPCODE 你的AppCode' //APPCODE值},method: 'POST',data: JSON.stringify(json),success(res) {console.log(res);_this.formData.id_num = res.data.numconsole.log(_this.formData )console.log(_this.formData.id_num )}})}).catch(error => {console.error(error)})}})},
坑坑坑!!!!!!!!!!
如果在微信开发者工具中,识别接口可以正常调取,打包出测试之后调用无效,那极大可能就是域名校验的问题。
在微信开发者工具中,可以临时开启 开发环境不校验请求域名、TLS版本及 HTTPS 证书 选项,跳过服务器域名的校验。此时,在微信开发者工具中及手机开启调试模式时,不会进行服务器域名的校验。当你出现打包测试调用接口无效是可勾掉微信开发者工具里的不校验合法域名的选项,此时调用就会报错。
需到微信小程序官网 开发管理 里的 开发设置 配置对应的域名
在服务器域名配置成功后,建议开发者关闭此选项进行开发,并在各平台下进行测试,以确认服务器域名配置正确。
如果手机上出现 “打开调试模式可以发出请求,关闭调试模式无法发出请求” 的现象,请确认是否跳过了域名校验,并确认服务器域名和证书配置是否正确。