[文章]Harmony应用开发-用户头像认证实现

阅读量0
1
4
1.png
说明
本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
一. 创建项目
二. 示例代码
index.hml
  1. <div class="container">
  2.     <div class="img">
  3.         <text>获取头像</text>
  4.     </div>
  5.     <text class="title">
  6.         <span>是否进行用户认证</span>
  7.     </text>
  8.     <div class="btn">
  9.         <button value="取消认证" onclick="cancelAuth"></button>
  10.         <button value="确定认证" onclick="startAuth"></button>
  11.     </div>
  12. </div>
复制代码

index.css
  1. .container {
  2.     display: flex;
  3.     flex-direction: column;
  4.     justify-content: center;
  5.     align-items: center;
  6.     width: 100%;
  7.     height: 400px;
  8. }
  9. .img{
  10.     flex-direction: column;
  11.     justify-content: center;
  12.     align-items: center;
  13.     width: 150px;
  14.     height: 150px;
  15.     border: 1px solid #ccc;
  16.     border-radius: 75px;
  17.     margin-bottom: 10px;
  18. }
  19. .title {
  20.     font-size: 30px;
  21.     text-align: center;
  22. }
  23. .btn{
  24.     width: 100%;
  25.     height: 80px;
  26.     flex-direction: row;
  27.     align-items: center;
  28.     justify-content: space-around;
  29. }
  30. .btn button{
  31.     width: 90px;
  32.     height: 30px;
  33. }
复制代码

index.js
  1. import prompt from '@system.prompt';
  2. import userIAM_userAuth from '@ohos.userIAM.userAuth';

  3. export default {
  4.     startAuth() {
  5.         console.info("开始认证");
  6.         let tipCallback = (tip)=>{
  7.             console.info("receive tip: errorCode(" + tip.errorCode + ") code(" + tip.tipCode + ") event(" +
  8.             tip.tipEvent + ") info(" + tip.tipInfo + ")");
  9.             // 此处添加提示信息显示逻辑
  10.         };
  11.         let auth = userIAM_userAuth.getAuthenticator();
  12.         auth.on("tip", tipCallback);
  13.         auth.execute("FACE_ONLY", "S2").then((code)=>{
  14.             auth.off("tip", tipCallback);
  15.             console.info("auth success");
  16.             // 此处添加认证成功逻辑
  17.         }).catch((code)=>{
  18.             auth.off("tip", tipCallback);
  19.             console.error("auth fail, code = " + code);
  20.             // 此处添加认证失败逻辑
  21.         });
  22.         prompt.showToast({message:"认证成功"})

  23.     },

  24.     checkAuthSupport() {
  25.         console.info("start check auth support");
  26.         let auth = userIAM_userAuth.getAuthenticator();
  27.         let checkCode = auth.checkAvailability("FACE_ONLY", "S2");
  28.         if (checkCode == userIAM_userAuth.CheckAvailabilityResult.SUPPORTED) {
  29.             console.info("check auth support success");
  30.             // 此处添加支持指定类型认证的逻辑
  31.         } else {
  32.             console.error("check auth support fail, code = " + checkCode);
  33.             // 此处添加不支持指定类型认证的逻辑
  34.         }
  35.     },

  36.     cancelAuth() {
  37.         console.info("取消");
  38.         let auth = userIAM_userAuth.getAuthenticator();
  39.         let cancelCode = auth.cancel();
  40.         if (cancelCode == userIAM_userAuth.Result.SUCCESS) {
  41.             console.info("cancel auth success");
  42.         } else {
  43.             console.error("cancel auth fail");
  44.         }
  45.     }
  46. }
复制代码

三. 实例效果
附件:

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友