faceVerify

来自于:开发者

login logout isOpenIDAuthorized userCancelAuthorization faceLoginWithPhoneUid updateUserInfo uploadUserBehaviourEvent faceVerify getFaceFeatures

概述

本模块封装了一登的SuperID SDK,快速整合人脸识别功能,让用户通过刷脸的提高身份验证效率。开发者只需在产品中嵌入本模块,产品即可具备人脸识别功能,让用户通过刷脸完成身份验证,不再需要通过密码、卡券、二维码等方式。

不能同时添加的模块:alarmNotification

注意事项

  • 开发者需要到一登的开发者中心,注册证号并添加应用,然后获取SUPERID_APPKEY和SUPERID_SECRET,配置到config文件中

  • 填写应用签名时,通过下载使用平台提供的 签名工具 安装到安卓设备,输入准备集成的工程包名,获取应用MD5签名

配置 config.xml 文件:

针对 android 平台配置方法:

  • 配置示例:
  1. <meta-data
  2. name="SUPERID_APPKEY"
  3. value="bf1acab2de4925b9cd624819" />
  4. <meta-data
  5. name="SUPERID_SECRET"
  6. value="f7d6d005f7cb33456be98c37" />

针对 ios 平台配置方法:

  • 配置示例:
  1. <feature name="faceVerify">
  2. <param name="appID" value="bf1acab2de4925b9cd624819" />
  3. <param name="appSecret" value="f7d6d005f7cb33456be98c37" />
  4. </feature>

模块接口

login

一登 登录授权 login({params},callback(ret))

params

phone:

  • 类型:数字
  • 描述:(可选项)传入用户的手机号码,作为一登账号

callback(ret)

ret:

  • 类型:JSON 对象
  • 描述:用户信息说明
  • 内部字段:
  1. {
  2. status: true, //布尔类型;是否成功返回
  3. openid:'******', //字符串类型,(仅在安卓客户端这样返回)开发者应用生成的openid
  4. userInfo: { //JSON 对象;用户信息
  5. app_uid:'', //(仅在iOS客户端这样返回)
  6. openId:'', //(仅在iOS客户端这样返回)
  7. phone: '', //字符串类型;用户手机号
  8. name: '', //字符串类型;用户名称
  9. email: '', //字符串类型;用户邮箱
  10. avatar:'', //字符串类型;用户的头像url
  11. regioncode:'', //字符串类型;区域编号
  12. persona:{ //JSON对象;用户画像信息
  13. gender:'', //字符串类型;性别
  14. tags:[ //数组类型;外貌标签
  15. "eyeglasses"
  16. ],
  17. location:{ //JSON对象,位置
  18. country:'', //字符串类型;国家
  19. province:'', //字符串类型;省份
  20. city:'' //字符串类型;城市
  21. }
  22. generation:'', //字符串类型;年代
  23. character:'' //字符串类型;性格
  24. },
  25. group_uid:'' //字符串类型
  26. }
  27. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. code:0, //数字类型;错误码
  3. msg:'' //字符串类型;错误信息
  4. }

示例代码

  1. var faceVerify = api.require('faceVerify');
  2. faceVerify.login(function(ret){
  3. if(ret.status) {
  4. api.alert({msg:JSON.stringify(ret)});
  5. } else {
  6. api.alert({msg:JSON.stringify(err)});
  7. }
  8. });

可用性

iOS系统,android 系统

可提供的1.0.0及更高版本

logout

退出登录请求

logout()

示例代码

  1. var faceVerify = api.require('faceVerify');
  2. faceVerify.logout();

可用性

iOS系统,android系统

可提供的1.0.0及更高版本

isOpenIDAuthorized

判断用户的openID是否已经授权绑定一登账号

isOpenIDAuthorized(params, callback(ret))

params

openid:

  • 类型:字符串;
  • 描述:(必选项)需要判断是否授权的用户uid(ios不支持此参数)

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:是否授权信息
  • 内部字段:
  1. {
  2. status: true, //布尔类型;是否授权
  3. errMsg:'' //字符串;错误信息(iOS无此参数)
  4. }

示例代码

  1. var faceVerify = api.require('faceVerify');
  2. var params = {openid:'34di93e93939'}
  3. faceVerify.isOpenIDAuthorized(params, function(ret){
  4. alert(JSON.stringify(ret));
  5. });

可用性

iOS系统,android系统

可提供的1.0.0及更高版本

userCancelAuthorization

解除当前用户一登账号的授权绑定

userCancelAuthorization(callback(ret))

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:解除绑定信息
  • 内部字段:
  1. {
  2. status: true, //布尔类型;是否授权
  3. errMsg:'' //字符串;错误信息(iOS没有此参数)
  4. }

示例代码

  1. var faceVerify = api.require('faceVerify');
  2. faceVerify.userCancelAuthorization(function(ret){
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统,android系统

可提供的1.0.0及更高版本

faceLoginWithPhoneUid

调用用户的手机号登陆

faceLoginWithPhoneUid(params, callback(ret))

params

phone

  • 类型:字符串
  • 描述:(必选项) 用户手机号

name

  • 类型:字符串
  • 描述:(必选项) 用户昵称

userInfo

  • 类型:JSON对象
  • 描述:(必选项) 用户信息,用户自定义信息,key和value自定义
  • 内部字段
  1. {
  2. email:'heheheda@apicloud.com',
  3. authID:'123456789'
  4. }

uid

  • 类型:字符串
  • 描述:(可选项)开发者应用用户的唯一uid
  • 默认值:无

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
  1. {
  2. status: true, //布尔类型;是否成功返回
  3. openid:'******', //字符串类型,开发者应用生成的openid
  4. userInfo: { //JSON 对象;用户信息
  5. phone: '', //字符串类型;用户手机号
  6. name: '', //字符串类型;用户名称
  7. email: '', //字符串类型;用户邮箱
  8. avatar:'', //字符串类型;用户的头像url
  9. regioncode:'', //字符串类型;区域编号
  10. persona:{ //JSON对象;用户画像信息
  11. gender:'', //字符串类型;性别
  12. tags:[ //数组类型;外貌标签
  13. ],
  14. location:{ //JSON对象,位置
  15. country:'', //字符串类型;国家
  16. province:'', //字符串类型;省份
  17. city:'' //城市
  18. }
  19. generation:'', //字符串类型;年代
  20. character:'' //字符串类型;性格
  21. },
  22. group_uid:'' //字符串类型
  23. }
  24. }

示例代码

  1. var faceVerify = api.require('faceVerify');
  2. var params = {
  3. phone:'15116919979',
  4. name:'lanjingmin',
  5. userInfo : {
  6. email:'heheheda@apicloud.com',
  7. authID:'123456789'
  8. },
  9. uid : 123456788
  10. };
  11. faceVerify.faceLoginWithPhoneUid(params,function(ret){
  12. alert(JSON.stringify(ret));
  13. });

可用性

android系统

可提供的1.0.0及更高版本

updateUserInfo

更新上传用户个人信息至一登用户账号

updateUserInfo(params, callback(ret))

params

userInfo

  • 类型:JSON对象
  • 描述:(必选项) 用户信息,用户自定义信息,key和value自定义
  • 内部字段
  1. {
  2. email:'heheheda@apicloud.com',
  3. authID:'123456789'
  4. }

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:状态返回信息
  • 内部字段:
  1. {
  2. status: true, //布尔类型;是否授权
  3. errMsg:'' //字符串;错误信息(iOS无此参数)
  4. }

示例代码

  1. var faceVerify = api.require('faceVerify');
  2. var params = {
  3. userInfo : {
  4. email:'heheheda@apicloud.com',
  5. authID:'123456789'
  6. }
  7. };
  8. faceVerify.updateUserInfo(params, function(ret){
  9. alert(JSON.stringify(ret));
  10. });

可用性

iOS、android系统

可提供的1.0.0及更高版本

uploadUserBehaviourEvent

行为属性上传接口,正常情况不调用。

uploadUserBehaviourEvent(params, callback(ret))

params

tag

  • 类型:字符串
  • 描述:(必选项) 行为事件的类型

attributes

  • 类型:JSON对象
  • 描述:(必选项) 该事件的属性字典,key和value自定义

action

  • 类型:JSON对象
  • 描述:(必选项) 该事件的用户操作字典, key和value自定义

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:状态返回信息
  • 内部字段:
  1. {
  2. status: true, //布尔类型;上传是否成功
  3. errMsg:'' //字符串;错误信息 (ios无此参数)
  4. }

示例代码

  1. var faceVerify = api.require('faceVerify');
  2. var params = {
  3. tag : 'listenMusic',
  4. attributes:{
  5. singleName:'oopp',
  6. singer:'ladygaga'
  7. },
  8. action:{
  9. favourit:1,
  10. shareChannel:'sina'
  11. }
  12. };
  13. faceVerify.uploadUserBehaviourEvent(params, function(ret){
  14. alert(JSON.stringify(ret));
  15. })

可用性

iOS系统,android系统

可提供的1.0.0及更高版本

faceVerify

用户登录授权成功后,调用人脸验证功能即可实现二次验证,实现签到等功能的需求。

faceVerify(params, callback(ret))

params

count

  • 类型:数字类型
  • 描述:(可选项) 验证失败重试次数
  • 默认值:0

callback(ret)

ret:

  • 类型:JSON对象
  • 描述:状态返回信息
  • 内部字段:
  1. {
  2. status: true, //布尔类型;是否成功
  3. errMsg:'' //字符串;错误信息
  4. }

示例代码

  1. var faceVerify = api.require('faceVerify');
  2. var params = {
  3. count : 0
  4. }
  5. faceVerify.faceVerify(params, function(ret){
  6. alert(JSON.stringify(ret));
  7. });

可用性

iOS系统,android系统

可提供的1.0.0及更高版本

getFaceFeatures

获取人脸属性

一登人脸属性功能是基于一登账号。当用户的一登账号授权开发者的应用以后,即可使用人脸属性高级功能。人脸属性高级功能通过开启摄像头识别用户人脸,返回当前用户的人脸属性,包括(表情、脸部坐标、微笑值、是否带眼镜、胡须密度等)。开发者可以使用这些参数为用户做更精准的数据推送、图片美化等自定义操作。

开发者注册后,可申请开通的高级功能有【性别】、【年龄】、【微笑】、【带眼镜】、【胡须密度】、【表情】、【颜值】、【动作】、【闭眼】、【张嘴】、【人脸关键点】、【人脸检测框】等,申请高级接口的流程如下:

1 注册成为一登开发者

2 在一登开发者中心创建应用

3 在应用栏目中的【功能权限】进行申请

获取到的人脸属性的字段参考

getFaceFeatures(callback(ret))

callback(ret)

ret

  • 类型:JSON对象
  • 描述:人脸属性字典
  • 内部字段
  1. {
  2. status: true, //布尔类型;是否成功
  3. featureInfo:'' //JSON对象;人脸属性值, 请参考人脸属性的字段
  4. }

err

  • 类型:JSON对象
  • 内部字段
  1. {
  2. code: 0, //数字类型;错误码
  3. msg:'' //JSON对象;错误信息
  4. }

示例代码

  1. var faceVerify = api.require('faceVerify');
  2. faceVerify.getFaceFeatures(function(ret){
  3. alert(JSON.stringify(ret));
  4. });

可用性

iOS系统,android系统

可提供的1.0.0及更高版本