首页 > 其他分享 >uniapp App端实人认证

uniapp App端实人认证

时间:2023-10-19 10:44:56浏览次数:41  
标签:uniapp 实人 return certifyId uniCloudVerify 认证 uni const App

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

相关文章

  • 【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页
    问题描述在AppServiceLinux环境中,如部署Tomcat应用后,如果访问的页面找不到,应用会返回一个由Azure生成的404页面,那么是否可以修改它呢? PS:如果是AppServiceforWindows,可以参考博文[ AppServiceforWindows环境中为Tomcat自定义4xx/5xx页面 : https://www.cnblogs.com......
  • Go - Testing a Web Application or a Web Service
    Problem: Youwanttodounittestingonawebapplicationorawebservice.Solution: Usethehttptest.NewRecorderfunctiontocreateanhttptest.ResponseRecorderthatcanbeusedtorecordwhat’sbeenwrittentothehttp.ResponseWriter.Thiscanthenb......
  • app 双向认证解决抓包
    背景:按照以往配置抓包,发现可抓到部分其他公司嵌套的业务数据包,猜测可能是使用了双向认证。 工具:https://github.com/r0ysue/r0capture 使用步骤:1.启动宿主端frdia  2.插看 要导出证书的app的报名 frida-ps-U-a  3. 运行脚本 python  r0captur......
  • 【自动化测试】 搭建 robot + selenium + appium 自动化测试环境
    安装Python1、安装Python2.7.13https://www.python.org/downloads/安装完后,需要设置环境变量:计算机—属性—高级系统设置—环境变量—系统变量—Path,写入D:\Python27;D:\Python27\Scripts(更改为您指定路径即可)。2、安装Python的SetupToolshttp://pypi.python.org/packages/2......
  • C#配置文件读写(App.config)
      /**************************************************描述:**Author:ys*Date:2023/10/1816:14:32*Update:*************************************************/usingSystem;usingSystem.Collections.Generic;usingSystem.Configuration;usingS......
  • app应用程序该如何封装,能提升产品价值和用户体验感
    哈喽各位同学们好,我是咕噜铁蛋,咱们又见面了。之前我和大家聊了好多苹果文件签名的小知识,今天咱们换个口味讲讲别的内容---封装。随着移动应用市场的蓬勃发展,用户对应用的期望也变得更高。一个成功的应用不仅仅要具备功能完善和界面美观的特点,还需要在用户体验和产品价值方面提供差......
  • div通过append添加的元素无法通过jquery元素选择器选择
    $("#"+msgid).append(data+'<br><br><br><divclass="box-copy"id='+copyid+'>复制内容</div>')此时无法通使用$(".box-copy").click()需要使用:$(document).on('click','......
  • OpenHarmony应用全局的UI状态存储:AppStorage
     AppStorage是应用全局的UI状态存储,是和应用的进程绑定的,由UI框架在应用程序启动时创建,为应用程序UI状态属性提供中央存储。和AppStorage不同的是,LocalStorage是页面级的,通常应用于页面内的数据共享。而AppStorage是应用级的全局状态共享,还相当于整个应用的“中枢”,持久化数......
  • System.TypeLoadException:“程序集“XXXX.K3.SCM.App.Core, Version=1.0.0.0, Cultur
    一、问题描述:网站页面调用方法时报错:报错内容如下:System.TypeLoadException:“程序集“XXXX.K3.SCM.App.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”中的类型“XXXX.K3.SCM.App.Core.StockService”的方法“WriteBackAfterByInWhenAudit”没有实现。”......
  • 视频直播app源码,自定义View 线型EditText输入框
    视频直播app源码,自定义View线型EditText输入框publicclassLineEditTextextendsAppCompatEditText{  privatePaintmPaint;   /**   *@paramcontext   *@paramattrs   */  publicLineEditText(Contextcontext,AttributeSetattrs){ ......