今天开始我们就正式开始鸿蒙next的代码开发啦,掌门人会带着大家一步步体验各种功能的实现,并且会在最后带着大家实现一个完整的项目,当然了,肯定不会是烂大街的那种商城啊、TOList啥的,大家可以放心。
在鸿蒙开发中,实现华为账号一键登录可以为用户提供更加便捷的登录方式。掌门人将会通过本文详细介绍如何在鸿蒙应用中实现华为账号一键登录功能。
好了,废话不多说,我们直接进入正题。
DevEco Studio下载/安装以及创建项目
下载
请前往下载中心获取并下载DevEco Studio。
为保证DevEco Studio正常运行,建议电脑配置满足如下要求:
Windows运行环境要求
- 操作系统:Windows10 64位、Windows11 64位
- 内存:16GB及以上
- 硬盘:100GB及以上
- 分辨率:1280*800像素及以上
Mac运行环境要求
- 作系统:macOS(X86) 11/12/13/14 macOS(ARM) 12/13/14
- 内存:8GB及以上
- 硬盘:100GB及以上
- 分辨率:1280*800像素及以上
Windows安装
下载完成后,双击下载的“deveco-studio-xxxx.exe”,进入DevEco Studio安装向导,可以自行修改安装目录,一直点击下一步即可。
mac安装
在安装界面中,将“DevEco-Studio.app”拖拽到“Applications”中,等待安装完成。
DevEco Studio提供开箱即用的开发体验,将HarmonyOS SDK、Node.js、Hvigor、OHPM、模拟器平台等进行合一打包,简化DevEco Studio安装配置流程。
HarmonyOS SDK已嵌入DevEco Studio中,无需额外下载配置
创建项目
-
打开DevEco Studio,在欢迎页单击Create Project,创建一个新工程。
-
根据工程创建向导,选择创建Application或Atomic Service。选择Empty Ability模板,然后单击Next。关于工程模板的介绍和支持的设备类型,请参考工程模板介绍。
-
填写工程相关信息,单击Finish。关于各个参数的详细介绍,请参考创建一个新的工程。
运行Hello World
-
将搭载HarmonyOS系统的真机与电脑连接。具体指导及要求,可查看运行应用/服务。
-
点击File > Project Structure… > Project > SigningConfigs界面勾选“Support HarmonyOS”和“Automatically generate signature”,点击界面提示的“Sign In”,使用华为账号登录。等待自动签名完成后,点击“OK”即可。如下图所示:
-
在编辑窗口右上角的工具栏,点击运行按钮运行项目。效果如下图所示:
至此一个鸿蒙next应用就创建完毕了,接下来我们来实现华为账号相关的。
开发准备
我们需要配置以下两个东西:
配置Client ID
-
登录AppGallery Connect平台,在“我的项目”中选择目标应用,在“项目设置 > 常规 > 应用”区域获取“OAuth 2.0客户端ID(凭据)”处的Client ID。
-
在工程中entry模块的module.json5文件中,新增metadata,配置name为client_id,value为上一步获取的Client ID的值,如下所示:
配置scope权限
具体配置步骤大家可以移步官网查看配置scope权限
关于UI,华为账号服务需要遵循华为登录UX设计规范。
一、导入所需模块
首先,在代码的开头,我们需要导入一系列的模块,这些模块将为实现华为账号一键登录提供必要的功能支持。
import {
loginComponentManager, LoginWithHuaweiIDButton, authentication } from '@kit.AccountKit';
import {
hilog } from '@kit.PerformanceAnalysisKit';
import {
BusinessError } from '@kit.BasicServicesKit';
import {
promptAction, router } from '@kit.ArkUI';
import {
connection } from '@kit.NetworkKit';
import {
util } from '@kit.ArkTS';
二、定义组件结构
接下来,定义一个名为QuickLoginButtonComponent
的组件结构。这个组件将包含实现华为账号一键登录所需的各种属性和方法。
@Component
export struct QuickLoginButtonComponent {
logTag: string = 'QuickLoginButtonComponent';
domainId: number = 0x0000;
// 第二步获取的匿名化手机号传到此处
@State quickLoginAnonymousPhone: string = this.getQuickLoginAnonymousPhone() || '';
// 是否勾选协议
@State isSelected: boolean = false;
// 华为账号用户认证协议链接,此处仅为示例,实际开发过程中,域名不建议硬编码在本地
private static USER_AUTHENTICATION_PROTOCOL:
发布者:admin,转转请注明出处:http://www.yc00.com/web/1754655745a5186971.html
评论列表(0条)