1、充点钱,因为调一次要8毛多
2、右键项目,创建unicloud云开发环境
3、创建一个文件夹,名称随便 uni-cloud-verify
4、右键文件夹,管理云函数的扩展库/公共模块依赖
点这个,然后确认
5、配置manifest.json里面App模块配置打开实人认证,然后打自定义基座包
6、正在打包 loading.................
7、去uni-cloud-verify文件里面新建index.obj.js(云对象)
8、编辑index.obj.js,差多就下面这样
// callFunction 'use strict'; module.exports = { // __before调用其他方法前会先调用这个方法 _before(context) { // 创建实人认证实例 this.frvManager = uniCloud.getFacialRecognitionVerifyManager({ requestId: this.getUniCloudRequestId() }) }, /** * 获取certifyId * @param realName 姓名 * @param idCard 身份证号 * @param metaInfo uni.getFacialRecognitionMetaInfo()获取的 */ async getCertifyId({ realName, idCard, metaInfo }) { // 会先调用_before try { const result = await this.frvManager.getCertifyId({ realName, idCard, metaInfo }); return result } catch (e) { return { errCode: 500, message: '获取CertifyId失败' }; } }, /** * 获取认证的结果 */ async getAuthResult(certifyId) { try { const result = await this.frvManager.getAuthResult({ certifyId }); return result } catch (e) { return { errCode: 500, message: '获取认证失败' }; } } }
9、这样云函数(云对象就OK了)
10、去vue页面写个方法使用
这个是我写的逻辑,就是吧realName,idCard,传进去。
export async function uniCloudVerify({ realName, idCard }) { // 开始认证 const startFacialRecognitionVerify = (certifyId) => { return new Promise((resolve, reject) => { uni.startFacialRecognitionVerify({ certifyId: certifyId, success: async res => { const result = await uniCloudVerify.getAuthResult(result.certifyId); resolve(res); }, fail: err => { reject('认证失败') } }); }) } // 获取设备信息 const metaInfo = uni.getFacialRecognitionMetaInfo(); // 注册实人认证 const uniCloudVerify = uniCloud.importObject('uni-cloud-verify'); // 获取CertifyId const certifyidResult = await uniCloudVerify.getCertifyId({ realName, idCard, metaInfo }) if (certifyidResult.errCode != 0) return Promise.reject('获取certifyid失败,请联系管理员处理!') const certifyId = certifyidResult; // 开始认证 try { const facialRecognitionVerifyValue = await startFacialRecognitionVerify(certifyId); } catch (e) { return Promise.reject(e); } // 获取结果 const authResult = await uniCloudVerify.getAuthResult(certifyId); if (authResult.errCode != 0) return Promise.reject('获取认证信息失败,请联系管理员处理!'); return Promise.resolve(authResult); }
11、使用 完成
uniCloudVerify({ realName, idCard }).then(res => { // 提示成功 }).catch(() => { // 提示失败 })
12、顺便记一下云函数,云对象的使用
// uni-cloud-verify这个就是文件夹的名称 const uniCloudVerify = uniCloud.importObject('uni-cloud-verify') // 然后就可以使用云对象的方法了 uniCloudVerify.xxx() // 云函数呢就一个方法 uniCloud.callFunction({ name: 'uni-cloud-verify', data: {} })
标签:uniapp,实人,return,certifyId,uniCloudVerify,认证,uni,const,App From: https://www.cnblogs.com/symlove/p/17769585.html