uniapp 调用阿里云OCR身份证识别

uniapp 调用阿里云OCR身份证识别

有个项目需求用到阿里云印刷身份证识别,网上搜了很多没有参考,话不多说爬坑总结;
第一步先注册阿里云账号点击注册阿里云账号已有账号忽略;

  1. 阿里云身份证识别购买第一次购买可以0元调用500次测试
  2. 购买后在下边会有调用api的接口和调用接口后返回的参数话不多少上代码简单明了,
  3. 上代码
  4. 这里需要注意下 也是我遇见的坑 发送请求的时候一定要写上请求头 是你买完身份证识别后的appcode ,点击这里查看你的appcode
  5. 此时你的appcode格式也一定要对 下面展示格式注意注释内容 内联代码片
// APPCODE和你的数字之间一定要有个空格否则接口返回400
 header: { 
	     'Authorization': 'APPCODE 546846841465484145498'//APPCODE值
	    },

6.请求方式为POST,返回的数据格式为JSON,请求时的参数主要有两个, 一个是识别图片的base64码,另一个是要识别身份证的正面还是反面(face: 正面; back: 反面);

这里在传参数时要注意传入参数的正确格式,另外在传入base64码时是不需要传入base64的文件头的;

图片base64编码字符串的截取
举例:
如下的base64字符串:

data:image/jpeg;base64,/9j/4QsJRXhpZgAATU0AKgAAAAgADAEQAAIAAAALAAAAngEA......

现在我们需要是base64,后面的字符串:

截取方法:
	1. 先使用js中的 indexOf 方法找到 ',' 字符的下标
	2. 使用 js 中的 substring 方法 直接截取 下标后面的值
	
	str.substring(str.indexOf(',')+1)

看代码中的例子
7.下面我把源码,放出来仅供参考
下面展示一些 内联代码片

// 选取图片
			chooseImage(e) { 
				console.log(e)
				if(e == 'face'){ 
					var configure = "{'side':'face'}" //face正面、back反面
				}else{ 
					var configure = "{'side':'back'}"
				}
				var that = this
				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: 'http://dm-51.data.aliyun.com/rest/160601/ocr/ocr_idcard.json',//测试api
									dataType:'json',
									 header: { 
									        'Authorization': 'APPCODE +你的APPCODE值'//APPCODE值
									    },
									method: 'POST',
									data: JSON.stringify(json),
									success(res) { 
										console.log(res);
									}
								})
							})
							.catch(error => { 
								console.error(error)
							})
					}
				})
			}

本文地址:https://blog.csdn.net/weixin_45410804/article/details/110178374

(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐