前置:
Api:6

语言:js开发

添加编译依赖参考地址:

文档中心

需要权限:

ohos.permission.INTERNET

开始:
1.创建项目:

2.示例代码

test.hml

<div class="container">
<!--    顶部导航-标题--><div class="header-router"><div class="header-box"><text class="header-box-back" onclick="back"><span><返回</span></text></div></div><div class="login-box"><image class="user-img" src="{{ userImg }}"></image><text class="user-name" onclick="goGetUserNumber"><span>{{ userName }}</span></text></div><text class="btnText" onclick="getNumber"><span>一键授权华为账号登录</span></text><div class="changeDiv"><input type="checkbox" checked="{{ isCheck }}" onchange="changeBtn"></input><text class="privacy"><span>我已阅读并同意</span></text><text class="privacy" onclick="goPrivacyContent"><span style="color: dodgerblue;">《用户隐私协议》</span></text></div>
</div>

test.css

import '../../common/css/header-router.css';
.container {flex-direction: column;justify-content: flex-start;align-items: center;width: 100%;
}
.login-box{flex-direction: column;justify-content: center;align-items: center;width: 100%;height: 50%;background-color: dodgerblue;
}
.user-img{width: 120px;height: 120px;border-radius: 60px;object-fit: cover;
/*    border: 1px;*/background-color: #eee;
}.user-name{margin-top: 10px;width: 150px;font-size: 20px;color: #fff;text-align: center;max-lines: 1;text-overflow: ellipsis;
}
.btnText{width: 240px;height:40px;text-align: center;color: #fff;font-size: 20px;background-color: dodgerblue;border-radius: 4px;margin-top: 30px;
}
.btnText:active{background-color: #999;
}
.changeDiv{flex-direction: row;align-items: center;justify-content: center;
}
.privacy{font-size: 16px;color: #333;text-decoration: underline;
}

test.js

import prompt from '@system.prompt';
import router from '@system.router';
import { HuaweiIdAuthParamsHelper, HuaweiIdAuthManager } from '@hmscore/hms-jsb-account';export default {data: {isLogin: false,//是否登录userImg: "common/images/userH.png",userName: "......",signInResult: null,isCheck: false, //是否勾选协议//        timer:null,},onShow() {},//获取用户华为账号getNumber() {let that = this;let signInOption = new HuaweiIdAuthParamsHelper().setId().setProfile().setAuthorizationCode().build();let num = 4;let btnT = this.isCheck;if (btnT == true) {// HuaweiIdAuthManager.getAuthApi方法返回huaweiIdAuth对象,在huaweiIdAuth对象中调用huaweiIdAuth.getSignInIntent方法HuaweiIdAuthManager.getAuthApi().getSignInIntent(signInOption).then((result) => {// 登录成功,获取用户的华为帐号信息
console.log("授权登录成功")console.info("signIn success");console.info(JSON.stringify(result));console.info("昵称: " + result.data);console.info("头像: " + result.status);prompt.showToast({message: "授权登录中...", duration: 2000});let setTime = setInterval(() => {num--;if (num == 2) {prompt.showToast({message: "登陆成功", duration: 2000});that.userName = result.datathat.userImg = result.statusthat.isLogin = true}if (num == 0) {router.replace({uri: "pages/index/index",params: {userImg: that.userImg,userName: that.userName,isLogin: that.isLogin}});clearInterval(setTime);}}, 1000);}).catch((error) => {// 登录失败
console.error("signIn fail");console.error(JSON.stringify(error));prompt.showToast({message: "授权登录中...", duration: 2000});let setTime = setInterval(() => {num--;if (num == 2) {prompt.showToast({message: "授权登录失败:" + error, duration: 8000,});}if(num == 0){clearInterval(setTime);}}, 1000);});} else {prompt.showToast({message: "请勾选用户隐私协议"})console.log("请先勾选用户隐私协议")}},//监听是否勾选隐私声明changeBtn(e) {this.isCheck = !this.isCheckif (this.isCheck) {console.log("已勾选阅读")} else {console.log("未勾选阅读")}},//跳转用户隐私协议goPrivacyContent(){},//返回上一个pageback() {router.back();}
}

3.效果如图:(用的previewer,所以肯定报错哈,要用有账号的真机测试哈)

4.代码地址

HarmonyOSAPP开发相关组件: 深圳市蛟龙腾飞网络科技有限公司 - Gitee.com

HarmonyOS应用开发JSAPI—js获取华为账号登录相关推荐

  1. HarmonyOS应用开发JSAPI—js获取相册权限调用相册图片

    前置: Api:8 语言:js开发 需要权限: ohos.permission.READ_USER_STORAGE ohos.permission.WRITE_USER_STORAGE 开始: 1.创 ...

  2. 【AGC】通过AGC认证服务在Android平台实现华为账号登录功能

    简介 AppGallery Connect认证服务提供了云侧服务和SDK,可以帮助开发者为应用快速构建安全可靠的用户认证系统,以便应用可以对用户进行身份认证.AppGallery Connect认证服 ...

  3. Android项目中集成华为账号登录、支付

    最近项目中集成了华为账号登录与支付的功能,把踩过的坑和过程记录下来. 先看下支付效果图: 支付价格0.01请忽略,因为这是为了测试用的. 刚开始接到这个项目的时候我很奇怪,为什么要集成华为支付呢,原有 ...

  4. 华为账号登录的手游如何在雷电(MuMu等)模拟器上登录游戏(以三国杀为例)

    自己使用的是华为手机 ,通过华为应用市场下载了三国杀,后来想在电脑上使用模拟器玩三国杀,下载下来发现没有华为账号登录的途径,后来在模拟器上下载了华为应用市场解决了.方法如下: 1.下载模拟器. 2.下 ...

  5. HTML5+CSS3实现华为账号登录

    一.前言 对于华为账号登录是自学时做的一个作品,想要学习的小伙伴,可以借鉴的,下面我会展示效果图和部分代码.这个页面相对的简单,页面元素较少,对于初学者可以自己尝试一下! (注:此次做了华为的一系列网 ...

  6. JS实现华为账号授权服务,一键登录!

    0.效果 1.集成HMS服务 1.1 新建项目工程 新建项目所设定的包名就是后面在AGC创建项目所用到的包名 1.2 添加依赖 1.2.1 项目级build.gradle dependencies { ...

  7. HarmonyOS报名选择应用,HarmonyOS应用开发系列课,华为内部官方培训来袭!

    距离HarmonyOS 2.0发布已有一个月,广大开发者学习热情高涨,为助力开发者能够运用HarmonyOS顺利开应用,华为开发者学院正式推出"HarmonyOS应用开发系列课", ...

  8. 华为游戏中心登录无法连接服务器,如何电脑登陆华为账号登录不了游戏

    我是用华为帐号自动登录游戏为什么直接输入华为帐号确登不上? 根据你的描述,建议你: 1.可能你手机或者电脑运行问题.可重新启动手机胡或者电脑. 2.可能是内存不够接收不到新的信息.可用软件清理一下垃圾 ...

  9. 前端开发:JS获取当前日期方法

    在前端开发过程中,有时候会需要获取当前时间和已知时间做对比的需求,也有单纯的获取当前时间然后传给后台,还有各种需要把获取到的当前时间转化成特定的时间格式传给后台,这虽然不是一个复杂的操作,但是不同的产 ...

最新文章

  1. 设置VSCode隐藏菜单栏快捷键Alt+T(头部)、隐藏状态栏快捷键Alt+B(底部),为单屏开发者腾出更多编码空间
  2. 给图像特征提取开个“ViP”是什么效果?字节牛津提出视觉解析器,全面超越HaloNet!...
  3. 总结了 90 条写 Python 程序的建议
  4. 启明云端分享|sigmastar SSW101B WiFi 非信令测试说明
  5. 华工网络计算机电路基础作业,2021年《计算机电路基础》-华工网络教育学院平时作业.doc...
  6. linux ssh和scp实例
  7. 1203.1——条件语句 之 if语句
  8. Centos6.5安装tocmat7 配置以及优化
  9. python怎么用到微信,用Python完转微信
  10. poj-1069(三角形和六边形)(转)
  11. Mybatis官方网站
  12. 一文读懂ADAS系统
  13. cs ss ds es
  14. java读取二进制流文件_java分别通过字节流、字符流、二进制读取文件的代码
  15. 图片尺寸大小(M)与图片容量大小(M)的区别
  16. 为什么梯度方向一定是函数增大的方向
  17. 兄弟连Linux运维学习笔记
  18. 自学考试--管理经济学
  19. 24h删 | 全网资源任意爬,Python简直太强大了
  20. 二、简单的c++小程序

热门文章

  1. hp dl580 g7安装linux,如何在HP Proliant DL380 G7上安装Ubuntu 16.04 LTS
  2. Netty 快速开始(netty websocket客户端使用流程)
  3. 专业英语(计算机)司爱侠练习版,专业英语(计算机)司爱侠练习版.doc
  4. 数据库:高并发下的数据字段变更
  5. 本地套接字(domain)通信
  6. 全球最好的外贸B2B平台有哪些
  7. 程序人生-Hello’s P2P(哈工大计算机系统大作业)
  8. VS2010 不生成pdb 和ilk文件
  9. 实战gdbserver
  10. matlab 日期加小时数_实验一 连续时间信号在Matlab中的运算