【鸿蒙应用ArkTS开发系列】- 云开发入门实战一使用鸿蒙登录组件实现客户端登录

目录

概述

通过本次课程,我们将学习怎么使用云端一体化开发模板来创建云开发工程,以及如何使用鸿蒙登录组件SDK进行客户端登录功能的开发,那下面我们直接进入本次课程的学习。

使用云端一体化开发模板创建项目工程

这块内容,在上一篇文章《【鸿蒙应用ArkTS开发系列】- 云开发入门简介》中已经进行了讲解,这块这里就不在过多赘述,没有看过的同学可以点击这里: 链接 查阅

创建完毕,整体的工程目录结构如下:

创建登录入口页面

  1. 我们创建AuthServices.ets 文件作为我们的登录页,具体路径如下:

"Application-> entry -> src -> main -> ets -> pages"目录下新建一个

代码如下:

typescript 复制代码
import { Login, AuthMode } from "@ohos/agconnect-auth-component";
import router from '@ohos.router';

@Entry
@Component
export struct AuthServices {

  build() {
    Column() {
      Text('点击按钮登录')
        .fontSize(30)
        .padding({ bottom: 50 })
      Login({
        modes: [AuthMode.PASSWORD, AuthMode.PHONE_VERIFY_CODE],
        onSuccess: (user) => {
          router.pushUrl({ url: "pages/Functions", params: { user: user } });
        },
        onError: (err) => {
          console.error('error: ', err && err.message);
        }
      }) {
        Button('login')
          .width('90%')
          .align(Alignment.Center);
      }
    }.width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Center);
  }
}
  1. 配置页面路由

在main_pages.json文件中配置页面路由。

"Application-> entry -> src -> main -> resources -> base ->profile -> main_pages.json"

  1. 将AuthServices配置为入口页

"Application-> entry -> src -> main -> ets -> entryability -> EntryAbility.ts"

打开EntryAbility文件,将windowStage.loadContent('pages/Index' 修改为windowStage.loadContent('pages/AuthServices'。

"Application-> entry -> src -> main -> ets -> entryability -> EntryAbility.ts"

运行后效果如下图:

这里我们摆放了两个控件,一个是提示控件,一个是登录按钮,登录按钮是使用的登录组件SDK提供的组件。

集成登录SDK组件

依赖登录组件SDK

在AuthServices 页面中,我们引用了Login组件,这个组件来自于鸿蒙登录组件SDK,使用如下语句进行导入:

import { Login, AuthMode } from "@ohos/agconnect-auth-component";

如果这里报警告,说明这个登录组件SDK我们没有配置依赖,那有两种依赖方式,

方式一:

那需要再entry模块下的oh-package.json5文件中,增加如下配置:"@ohos/agconnect-auth-component": "^1.1.2" ,然后将鼠标移到该语句上,会出现执行ohpm install面板, 点击安装依赖即可,这种方式需要知道需要依赖的库的版本号;

方式二:

在Terminal面板中,用cd命令跳到entry目录下,然后执行ohpm install @ohos/agconnect-auth-component,就会开始安装依赖,完成后也是会在oh-package.json5 文件中增加一条配置。

使用登录组件SDK

我们可以直接在页面中导入并使用Login组件,使用的时候需要配置modes,

modes,这个是一个枚举

typescript 复制代码
export enum AuthMode {
    PHONE_VERIFY_CODE = 'phone_verify_code',
    MAIL_VERIFY_CODE = 'mail_verify_code',
    PASSWORD = 'password',
}

我们可以根据实际情况选择,这里我配置了密码跟手机登录,实际预览 如下:



Login({}部分即为HarmonyOS云开发提供的登录组件能力。

  • modes:设置需要开启的认证类型。当前支持手机验证码登录(PHONE_VERIFY_CODE)、邮箱验证码登录(MAIL_VERIFY_CODE)和帐号密码登录(PASSWORD)。
  • onSuccess:登录成功后的回调函数,可以获取登录用户的信息,详细参见AGConnectUser,并进行下一步操作,本Codelab将引导至云函数功能的页面。
  • onError:登录失败的回调函数,返回的错误信息参见AGCAuthError。

这样我们就完成了登录组件SDK的集成和使用。

开启"手机号码"和"邮箱地址"认证方式

上面我们介绍了登录SDK的依赖和使用,但是我们还需要根据实际使用场景,在
AppGallery Connect 平台对我们的创建的项目开启配置启用"手机号码"和"邮箱地址"两种认证方式。

进入AppGallery Connect 选择我们的项目,在左侧目录中找到认证服务,在右边面板上找到手机号码、邮箱地址,点击右边的启用菜单开启对应的认证服务即可。

这样我们就完成了登录组件的基础和使用,这里我们回顾一下:

  • 使用端云一体化模板创建云开发工程
  • 依赖登录组件SDK
  • 创建页面使用登录组件
  • AppGallery Connect平台上为项目认证服务开启手机登录或者邮箱地址登录

那进行的文章就到此完毕,大家赶紧创建Demo试试看。

下一篇文章我再讲讲云开发工程,云数据库的使用以及云函数的部署,感谢阅读!

相关推荐
sanzk3 小时前
华为鸿蒙应用开发
华为·harmonyos
SoraLuna8 小时前
「Mac畅玩鸿蒙与硬件28」UI互动应用篇5 - 滑动选择器实现
macos·ui·harmonyos
ClkLog-开源埋点用户分析9 小时前
ClkLog企业版(CDP)预售开启,更有鸿蒙SDK前来助力
华为·开源·开源软件·harmonyos
mg6689 小时前
鸿蒙系统的优势 开发 环境搭建 开发小示例
华为·harmonyos
模拟IC攻城狮9 小时前
华为海思招聘-芯片与器件设计工程师-模拟芯片方向- 机试题-真题套题题目——共8套(每套四十题)
嵌入式硬件·华为·硬件架构·芯片
lqj_本人9 小时前
鸿蒙next选择 Flutter 开发跨平台应用的原因
flutter·华为·harmonyos
lqj_本人9 小时前
使用 Flutter 绘制一个棋盘
harmonyos
TangKenny10 小时前
计算网络信号
java·算法·华为
23zhgjx-NanKon10 小时前
华为eNSP:QinQ
网络·安全·华为
23zhgjx-NanKon10 小时前
华为eNSP:mux-vlan
网络·安全·华为