E证通
- 前言
 - 收费标准
 - 接入准备
 - 小程序
 - 1、 添加服务器域名白名单
 - 2、添加业务域名白名单
 - 3、安装 SDK/小程序包
 - 4、SDK 调用步骤即实操代码
 - 4.1、初始化 SDK
 - 4.2、 调用 SDK
 
- 5、拿到回调结果
 - 6、使用uni-app开发
 - 6.1、小程序运行后,在小程序中丢入sdk包
 - 6.2、把sdk包转换成uni-app代码
 
- 7、效果
 
- 相关文章
 
前言
微信小程序自开发人脸识别,有很大的限制,主要在于公司资质。
 有没有不用资质就接入人脸识别,有的,腾讯E证通,该服务目前只向已完成企业实名认证的腾讯云用户开放,使用E证通服务前需要您注册腾讯云账号并完成企业实名认证。
收费标准
E证通属于第三方插件,因此有收费,个人觉得价格适中吧
 
接入准备
先开通腾讯云 => 实名认证 => 开通E站通 => 下载前端包
 他分别有小程序接入和H5接入,目前我使用的是小程序接入
小程序
1、 添加服务器域名白名单
做过小程序都知道,在微信公众平台里面新增服务器白名单
eid.faceid.qq.com
2、添加业务域名白名单
上面的地址,也放在业务白名单里
eid.faceid.qq.com
3、安装 SDK/小程序包
在 控制台商户 ID 列表页 可以下载E证通小程序 SDK。
 SDK包内容如下
 
4、SDK 调用步骤即实操代码
4.1、初始化 SDK
- 在 app.js 文件中引入初始化 SDK 的方法 initEid。
 - 在 App.js 的 onLaunch() 中加入相应代码,在 App.json 文件里添加E证通 SDK 页面。
 - 在 onLaunch 方法中调用 initEid。
 
//app.jsimport { initEid } from './mp_ecard_sdk/main';App({onLaunch() {initEid();},});// app.json{"pages":["mp_ecard_sdk/index/index","mp_ecard_sdk/protocol/service/index","mp_ecard_sdk/protocol/privacy/index","mp_ecard_sdk/protocol/userAccredit/index","mp_ecard_sdk/protocol/eid/index",]}
 
4.2、 调用 SDK
- 在需要进行核身的地方引入调用 SDK 的方法 startEid。
 - 在业务需要的时机触发 startEid。
 
import { startEid } from './mp_ecard_sdk/main';// 示例方法goSDK(token) {startEid({data: {token,},verifyDoneCallback(res) {  const { token, verifyDone } = res;console.log('收到核身完成的res:', res);console.log('核身的token是:', token); console.log('是否完成核身:', verifyDone);          },});},
 
5、拿到回调结果
// app.js
onShow: (options) => {	const { referrerInfo, scene } = options;/* 判断是否从eID数字身份小程序返回 */const { appId } = referrerInfo;if (scene === 1038 && appId === 'wx0e2cb0b052a91c92') {console.log(referrerInfo.extraData.token,"人脸回调的token")let resutl,editokenif(referrerInfo.extraData.token){//人脸识别成功resutl = 'SUCCESS'editoken = referrerInfo.extraData.token}else{//失败resutl = 'FAIL'editoken = ''}//不知道为什么不触发// uni.navigateTo({// 	url:`/pages/book/registerSuccess?token=${editoken}&resutl=${resutl}`,// })store.commit('SET_FACEINFO', {editoken,resutl})console.log("跳转")return} else {// 执行接入方小程序原本的逻辑}console.log('App Show')
},
 
6、使用uni-app开发
E证通目前没有接入uni,因此我们使用uni-app开发时,只能转换一下思路了,目前有两种实现方式
6.1、小程序运行后,在小程序中丢入sdk包
在小程序运行后,我们在微信开发者工具中,找到资源管理器,在根目录中丢入SDK包
 
缺点:无法git或者svn管理
6.2、把sdk包转换成uni-app代码
通过查看sdk包,我们可以清楚的发现他就微信小程序的一些页面和js,
 我是通过miniprogram-to-uniapp来把原生小程序转换成uni-app代码包
 转换效果如下:
 
缺点:转换后,uni不支持小程序的一些原生方法,导致需要人工转换,比如this.setData(),此方法在uni-app中就不支持
7、效果


相关文章
uni-app 人脸识别分析及实现(前端) + nvue开发源码
















