Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ronaldo_717
unidocs-zh
提交
034d72c0
U
unidocs-zh
项目概览
Ronaldo_717
/
unidocs-zh
与 Fork 源项目一致
Fork自
DCloud / unidocs-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
unidocs-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
034d72c0
编写于
2月 22, 2023
作者:
雪洛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: update uniCloud frv
上级
4dfbb220
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
102 addition
and
100 deletion
+102
-100
docs/uniCloud/frv/dev.md
docs/uniCloud/frv/dev.md
+102
-100
未找到文件。
docs/uniCloud/frv/dev.md
浏览文件 @
034d72c0
...
@@ -8,10 +8,11 @@ uni实人认证服务,分前端api和云端api,云端为uniCloud API。
...
@@ -8,10 +8,11 @@ uni实人认证服务,分前端api和云端api,云端为uniCloud API。
在uni-app客户端和uniCloud云函数中调用如下api,实现下图流程:
在uni-app客户端和uniCloud云函数中调用如下api,实现下图流程:
-
客户端获取metaInfo:
[
uni.getFacialRecognitionMetaInfo
](
#get-meta-info
)
-
客户端调起sdk刷脸认证:
[
uni.startFacialRecognitionVerify()
](
#start-frv
)
-
云函数获取实人认证实例:
[
uniCloud.getFacialRecognitionVerifyManager()
](
#get-frv-manager
)
-
云函数获取实人认证实例:
[
uniCloud.getFacialRecognitionVerifyManager()
](
#get-frv-manager
)
-
云函数提交姓名、身份证号以获取认证服务的certifyId:
[
frvManager.getCertifyId()
](
#get-certify-id
)
-
云函数提交姓名、身份证号以获取认证服务的certifyId:
[
frvManager.getCertifyId()
](
#get-certify-id
)
-
云函数使用certifyId获取认证结果:
[
frvManager.getAuthResult()
](
#get-auth-result
)
-
云函数使用certifyId获取认证结果:
[
frvManager.getAuthResult()
](
#get-auth-result
)
-
客户端调起sdk刷脸认证:
[
uni.startFacialRecognitionVerify()
](
#start-frv
)
完整认证流程如下:
完整认证流程如下:
...
@@ -20,17 +21,18 @@ sequenceDiagram
...
@@ -20,17 +21,18 @@ sequenceDiagram
actor user as 用户端
actor user as 用户端
participant cf as 云函数/云对象
participant cf as 云函数/云对象
participant service as 认证服务
participant service as 认证服务
user->>+cf: 1.1 上传姓名、身份证号获取certifyId
activate user
activate user
cf->>+service: 2.1 提交姓名、身份证号获取certifyId
user->>+user: 获取设备信息metaInfo
service-->>-cf: 2.2 返回certifyId
user->>+cf: 提交姓名、身份证号、metaInfo获取certifyId
cf-->>-user: 1.2 返回certifyId
cf->>+service: 提交姓名、身份证号、metaInfo获取certifyId
user->>+service: 3.1 调用sdk进行刷脸认证
service-->>-cf: 返回certifyId
service-->>-user: 3.2 返回认证结果
cf-->>-user: 返回certifyId
user->>+cf: 4.1 请求更新认证结果
user->>+service: 调用sdk进行刷脸认证
cf->>+service: 5.1 请求认证结果
service-->>-user: 返回认证结果
service-->>-cf: 5. 返回认证结果
user->>+cf: 请求校验认证结果
cf-->>-user: 4.2 入库更新用户认证信息并返回认证成功
cf->>+service: 请求认证结果
service-->>-cf: 返回认证结果
cf-->>-user: 返回最终实人认证结果
deactivate user
deactivate user
```
```
...
@@ -42,6 +44,89 @@ sequenceDiagram
...
@@ -42,6 +44,89 @@ sequenceDiagram
由于实人认证涉及费用,为避免其他人盗刷您的余额,您应当谨慎编码,防止漏洞。一般可以通过一个用户每天限制实名次数来实现防刷,未登录用户禁止调用认证接口。如果有更高的安全需求可以使用uni安全网络,可以有效防止伪造客户端请求,
[
详见
](
../secure-network.md
)
由于实人认证涉及费用,为避免其他人盗刷您的余额,您应当谨慎编码,防止漏洞。一般可以通过一个用户每天限制实名次数来实现防刷,未登录用户禁止调用认证接口。如果有更高的安全需求可以使用uni安全网络,可以有效防止伪造客户端请求,
[
详见
](
../secure-network.md
)
### 客户端接口
#### 获取设备信息@get-meta-info
调用刷脸前通过客户端先获取设备信息,调用
[
uni.getFacialRecognitionMetaInfo
](
https://uniapp.dcloud.net.cn/api/plugins/facialRecognitionVerify.html
)
`const metaInfo = uni.getFacialRecognitionMetaInfo();`
#### 调起实人认证界面@start-frv
通过云函数获取certifyId后,在客户端调用
[
uni.startFacialRecognitionVerify
](
https://uniapp.dcloud.net.cn/api/plugins/facialRecognitionVerify.html
)
打开认证界面,通过刷脸操作获取认证结果。
`uni.startFacialRecognitionVerify(OBJECT)`
**注意**
*
HBuilderX3.7.2+新增支持
*
App端需在“App模块配置”中勾选“FacialRecognitionVerify(实人认证)”,参考
[
详情
](
https://uniapp.dcloud.net.cn/tutorial/app-facialRecognitionVerify.html
)
*
App端使用蚂蚁金服人脸认证SDK,需在隐私政策的三方SDK中添加实人认证功能描述,参考
[
详情
](
https://ask.dcloud.net.cn/article/39484#FacialRecognitionVerify
)
*
App-Android平台要求Android5(API Leavel 21)及以上系统
*
App-iOS平台要求iOS9及以上系统
**示例**
```
js
uni
.
startFacialRecognitionVerify
({
certifyId
:
""
,
progressBarColor
:
"
#CC0000
"
,
//刷脸圈的颜色
screenOrientation
:
"
port
"
,
//认证界面UI朝向
success
:(
e
)
=>
{
console
.
log
(
JSON
.
stringify
(
e
))
},
fail
:(
e
)
=>
{
console
.
log
(
JSON
.
stringify
(
e
))
},
complete
:(
e
)
=>
{
console
.
log
(
JSON
.
stringify
(
e
))
}
})
```
##### OBJECT参数说明
| 参数 | 类型 | 是否必传 | 支持平台 | 描述 |
| --- | --- | --- | --- | --- |
| certifyId | String | 是 | App | 认证流水号,由服务端根据接入的业务模式调用对应的初始化接口获取 |
| progressBarColor | String | 否 | App | 刷脸圈的颜色 |
| screenOrientation | String | 否 | App-Android | 认证界面UI朝向。port 为竖屏,land 为横屏,默认为 port|
| success | Function | 否 | App | 成功回调 |
| fail | Function | 否 | App | 失败回调 |
| complete | Function | 否 | App | 完成回调 |
注: 颜色字符串格式为“#RRGGBB”,RRGGBB为十六进制字符串,如红色("#FF0000")
##### CALLBACK返回值
| 参数 | 描述 |
| --- | --- |
| errSubject | 模块名称(uni-facialRecognitionVerify) |
| errCode | 错误码,详情见:
[
错误码
](
#err-code
)
|
| errMsg | 错误信息,详情见:
[
错误码
](
#err-code
)
|
| cause | SDK返回的原始数据 (certifyId不为空时返回) |
##### cause
| 参数 | 描述 |
| --- | --- |
| code | SDK原始错误码 |
| message | SDK原始错误信息 |
#### iOS平台自定义UI
iOS平台不支持通过参数的方式修改刷脸页的提示文案,但可以通过自定义bundle文件的方式修改提示内容以及国际化信息
[
APBToygerFacade.bundle文件下载
](
https://native-res.dcloud.net.cn/uni-app/file/APBToygerFacade.zip
)
首先需要下载APBToygerFacade.bundle文件,可通过修改APBToygerFacade.bundle中的内容自定义多语言文案,如 zh-Hans.strings 代表中文文案,en.strings 代表英文文案,内容格式为 "APBToygerFacade:xxxA"="xxxB",xxxA 为目标修改文案,xxxB 为修改后的文案,示例内容如下:
```
"APBToygerFacade:xxxA"="xxxB";
"APBToygerFacade:当前设备不支持刷脸"="当前设备不支持刷脸";
"APBToygerFacade:拿起手机眨眨眼"="拿起手机,眨眨眼";
"APBToygerFacade:再试一次"="再试一次";
"APBToygerFacade:无法启动相机"="无法打开相机";
"APBToygerFacade:网络不给力"="网络异常";
```
此处文案修改后需要完整测试回归 UI 以及文案变化影响,以免影响用户体验。修改后的bundle文件配到项目根目录的 nativeResources -> ios -> Resources 路径下后打包即可,详情参照
[
iOS原生应用配置文件和资源
](
https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-ios.html
)
### 云函数接口
### 云函数接口
实人认证相关接口由uni-cloud-verify扩展库提供,调用
`uniCloud.getFacialRecognitionVerifyManager()`
需云函数/云对象中加载对应的扩展库。
[
参考
](
../cf-functions.md#extension
)
实人认证相关接口由uni-cloud-verify扩展库提供,调用
`uniCloud.getFacialRecognitionVerifyManager()`
需云函数/云对象中加载对应的扩展库。
[
参考
](
../cf-functions.md#extension
)
...
@@ -60,10 +145,10 @@ uniCloud.getFacialRecognitionVerifyManager(Object GetFacialRecognitionVerifyMana
...
@@ -60,10 +145,10 @@ uniCloud.getFacialRecognitionVerifyManager(Object GetFacialRecognitionVerifyMana
**Object GetFacialRecognitionVerifyManagerParam**
**Object GetFacialRecognitionVerifyManagerParam**
|属性 |类型 |必填 |默认值 |说明
|
|属性 |类型 |必填 |默认值 |说明 |
|:-: |:-: |:-: |:-: |:-:
|
|:-: |:-: |:-: |:-: |:-: |
|requestId|String |是 |- |本次云函数请求的requestId
,用于接口内部获取当前应用appId及客户端ip信息
|
|requestId|String |是 |- |本次云函数请求的requestId
|
|appId |String |否 |- |用于在url化等无法获取客户端信息的场景下传入客户端appId
|
|appId |String |否 |- |用于在url化等无法获取客户端信息的场景下传入客户端appId |
**返回值**
**返回值**
...
@@ -111,8 +196,8 @@ frvManager.getCertifyId(Object GetCertifyIdParam)
...
@@ -111,8 +196,8 @@ frvManager.getCertifyId(Object GetCertifyIdParam)
|:-: |:-: |:-: |:-: |:-: |
|:-: |:-: |:-: |:-: |:-: |
|realName |String |是 |- |用户真实姓名 |
|realName |String |是 |- |用户真实姓名 |
|idCard |String |是 |- |用户身份证号 |
|idCard |String |是 |- |用户身份证号 |
|metaInfo |String |是 |- |客户端
初始化时
返回的metaInfo |
|metaInfo |String |是 |- |客户端
获取设备信息
返回的metaInfo |
|needPicture|Boolean|否 |
-
|是否需要采集用户照片 |
|needPicture|Boolean|否 |
false
|是否需要采集用户照片 |
**返回值**
**返回值**
...
@@ -248,89 +333,6 @@ module.exports = {
...
@@ -248,89 +333,6 @@ module.exports = {
}
}
```
```
### 客户端接口
#### 获取设备信息
调用刷脸前通过客户端先获取设备信息,调用
[
uni.getFacialRecognitionMetaInfo
](
https://uniapp.dcloud.net.cn/api/plugins/facialRecognitionVerify.html
)
`const metaInfo = uni.getFacialRecognitionMetaInfo();`
#### 调起实人认证界面@start-frv
通过云函数获取certifyId后,在客户端调用
[
uni.startFacialRecognitionVerify
](
https://uniapp.dcloud.net.cn/api/plugins/facialRecognitionVerify.html
)
打开认证界面,通过刷脸操作获取认证结果。
`uni.startFacialRecognitionVerify(OBJECT)`
**注意**
*
HBuilderX3.7.2+新增支持
*
App端需在“App模块配置”中勾选“FacialRecognitionVerify(实人认证)”,参考
[
详情
](
https://uniapp.dcloud.net.cn/tutorial/app-facialRecognitionVerify.html
)
*
App端使用蚂蚁金服人脸认证SDK,需在隐私政策的三方SDK中添加实人认证功能描述,参考
[
详情
](
https://ask.dcloud.net.cn/article/39484#FacialRecognitionVerify
)
*
App-Android平台要求Android5(API Leavel 21)及以上系统
*
App-iOS平台要求iOS9及以上系统
**示例**
```
js
uni
.
startFacialRecognitionVerify
({
certifyId
:
""
,
progressBarColor
:
"
#CC0000
"
,
//刷脸圈的颜色
screenOrientation
:
"
port
"
,
//认证界面UI朝向
success
:(
e
)
=>
{
console
.
log
(
JSON
.
stringify
(
e
))
},
fail
:(
e
)
=>
{
console
.
log
(
JSON
.
stringify
(
e
))
},
complete
:(
e
)
=>
{
console
.
log
(
JSON
.
stringify
(
e
))
}
})
```
##### OBJECT参数说明
| 参数 | 类型 | 是否必传 | 支持平台 | 描述 |
| --- | --- | --- | --- | --- |
| certifyId | String | 是 | App | 认证流水号,由服务端根据接入的业务模式调用对应的初始化接口获取 |
| progressBarColor | String | 否 | App | 刷脸圈的颜色 |
| screenOrientation | String | 否 | App-Android | 认证界面UI朝向。port 为竖屏,land 为横屏,默认为 port|
| success | Function | 否 | App | 成功回调 |
| fail | Function | 否 | App | 失败回调 |
| complete | Function | 否 | App | 完成回调 |
注: 颜色字符串格式为“#RRGGBB”,RRGGBB为十六进制字符串,如红色("#FF0000")
##### CALLBACK返回值
| 参数 | 描述 |
| --- | --- |
| errSubject | 模块名称(uni-facialRecognitionVerify) |
| errCode | 错误码,详情见:
[
错误码
](
#err-code
)
|
| errMsg | 错误信息,详情见:
[
错误码
](
#err-code
)
|
| cause | SDK返回的原始数据 (certifyId不为空时返回) |
##### cause
| 参数 | 描述 |
| --- | --- |
| code | SDK原始错误码 |
| message | SDK原始错误信息 |
#### iOS平台自定义UI
iOS平台不支持通过参数的方式修改刷脸页的提示文案,但可以通过自定义bundle文件的方式修改提示内容以及国际化信息
[
APBToygerFacade.bundle文件下载
](
https://native-res.dcloud.net.cn/uni-app/file/APBToygerFacade.zip
)
首先需要下载APBToygerFacade.bundle文件,可通过修改APBToygerFacade.bundle中的内容自定义多语言文案,如 zh-Hans.strings 代表中文文案,en.strings 代表英文文案,内容格式为 "APBToygerFacade:xxxA"="xxxB",xxxA 为目标修改文案,xxxB 为修改后的文案,示例内容如下:
```
"APBToygerFacade:xxxA"="xxxB";
"APBToygerFacade:当前设备不支持刷脸"="当前设备不支持刷脸";
"APBToygerFacade:拿起手机眨眨眼"="拿起手机,眨眨眼";
"APBToygerFacade:再试一次"="再试一次";
"APBToygerFacade:无法启动相机"="无法打开相机";
"APBToygerFacade:网络不给力"="网络异常";
```
此处文案修改后需要完整测试回归 UI 以及文案变化影响,以免影响用户体验。修改后的bundle文件配到项目根目录的 nativeResources -> ios -> Resources 路径下后打包即可,详情参照
[
iOS原生应用配置文件和资源
](
https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-ios.html
)
### 错误码@err-code
### 错误码@err-code
**云端错误码**
**云端错误码**
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录