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开发源码