【鸿蒙 HarmonyOS 4.0】登录流程

news/2024/7/21 11:39:29 标签: harmonyos, 华为

一、背景

登录功能在应用中是一个常用模块,此次使用 HarmonyOS 实现登录流程,包含页面呈现与网络请求。

二、页面呈现

三、实现流程

3.1、创建项目

构建一个ArkTS应用项目(Stage模型),今天创建流程可查看官网教程:文档中心

目录结构介绍:

3.2、添加静态资源

所需图片:背景图,土拨鼠图片

添加位置:entry > src > main > resources > base > media

备注:icon.png是初始图片,另外两个是新增加的图片资源

3.3、编写登录界面

在pages目录下新建LoginPage页面,用于编写登录界面

具体代码:

@Entry
@Component
struct LoginPage {
  @State tenant:string = ''
  @State account:string = ''
  @State password:string = ''

  build() {
    Column({space:10}){
      Image($r('app.media.Groundhog'))
        .width('100vp')
        .borderRadius(50)
        .margin({top:120})
      Text('欢迎登录土拨鼠')
        .fontColor(Color.Gray)
        .fontSize(20)
      Select([{value:'土拨鼠充电公司'},{value:'钢铁侠充电公司'}])
        .selected(0)
        .value('请选择租户')
        .font({size:16,weight:500})
        .fontColor('#182431')
        .selectedOptionFont({ size: 16, weight: 400 })
        .optionFont({ size: 16, weight: 400 })
        .onSelect((index: number) => {
          this.tenant = (index + 1).toString()
        })
      TextInput({
        placeholder:'请输入用户名'
      })
        .width(300)
        .onChange((val:string) => this.account = val)
      TextInput({
        placeholder:'请输入密码'
      })
        .width(300)
        .onChange((val:string) => this.password = val).type(InputType.Password)
      Button('登录')
        .width("90%")
        .backgroundColor('#0aa671')
      LoadingProgress()
        .color('#0aa671')
        .width(50)
        .height(50)
    }
    .width('100%')
    .height('100%')
    .backgroundImage($r('app.media.rect'))
  }
}

3.4、界面测试

3.4.1、方法一:Preview 预览

 Previewer 预览用于查看应用的UI界面效果,方便随时调整界面UI布局。只需打开需要预览的页面文件,在LoginPage.ets文件中,点击IDE右侧的 Previewer 即可看到预览效果。

3.4.2、方法二:模拟器运行

右上角选择设备,点击进入设备管理器

①如果没有模拟器需下载安装,可查看我前面写的此篇文章👉【鸿蒙 HarmonyOS 4.0】开发工具安装_安装鸿蒙ide-CSDN博客

②如果已经下载,点击启动设备。

③此时设备上已选中启动的设备,点击右上角的按钮,启动下项目

备注:

模拟器默认启动页面是Index,如果需要启动项目直接是LoginPage页面,需要在EntryAbility文件内windowStage.loadContent方法中修改启动路径,如下👇

最终,模拟器运行效果👇


http://www.niftyadmin.cn/n/5407639.html

相关文章

Feign失败降级逻辑

一,为什么要编写失败降级逻辑 业务失败后,不能直接报错,而应该返回用户一个提示或者默认结果 二,实现步骤 1,自定义类实现FallbackFactory接口 import feign.hystrix.FallbackFactory; import lombok.extern.slf4j.Sl…

springcloud 整合 RabbitMQ 消息中间件

以下是在 Spring Cloud 中整合 RabbitMQ 消息中间件的详细步骤、代码说明&#xff0c;以及分析和解决消息丢失和消息重复消费问题的示例&#xff1a; 1. 依赖添加&#xff1a; 在 Maven 项目的 pom.xml 文件中添加 RabbitMQ 和 Spring Cloud Stream 的依赖&#xff1a; <…

【数字经济】数字化转型与制造企业绿色创新质量(2000-2022)

数据来源&#xff1a;企业年报等时间跨度&#xff1a;2000-2022年数据范围&#xff1a;A股上市制造企业数据指标&#xff1a; 股票代码 省份代码 总资产 年份 城市代码 企业年龄 股票简称 上市状态 资产负债率 行业名称 绿色专利申请 企业成长 …

怎么从视频中提取gif动画?试试这个网站!

视频和GIF动画是两种不同的媒体格式&#xff0c;视频通常以常见的视频文件格式如MP4、AVI、MOV等保存&#xff0c;而GIF动画则以GIF格式保存。想要从视频中截取GIF&#xff0c;可以使用动画在线制作工具&#xff0c;您只需上传视频文件&#xff0c;使用工具提供的截取功能选择您…

检测概率与目标状态相关时的PHD滤波器

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1. 影响目标状态相关检测概率的因素2. 更新步骤的修改2.1 权重更新公式2.2 权重的归一化 3. 应用实例——相控阵雷达多目标跟踪3.1 问题建模3.2 实现方法 4. 结语 声…

VR 全景模式OpenGL原理

VR 全景模式OpenGL原理 VR 全景模式原理 VR 全景模式原理将画面渲染到球面上&#xff0c;相当于从球心去观察内部球面&#xff0c;观察到的画面 360 度无死角&#xff0c;与普通播平面渲染的本质区别在渲染图像部分&#xff0c;画面渲染到一个矩形平面上&#xff0c;而全景需…

基于粒子群优化算法的图象聚类识别matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于粒子群优化算法的图象聚类识别。通过PSO优化方法&#xff0c;将数字图片的特征进行聚类&#xff0c;从而识别出数字0~9. 2.测试软件版本以及运行结果展示 M…

c++ primer中文版第五版作业第四章

仓库链接 文章目录 4.14.24.34.44.54.64.74.84.94.104.114.124.134.144.154.164.174.184.194.204.214.224.234.244.254.264.274.284.294.304.314.324.334.344.354.364.374.38 4.1 105 4.2 *(vec.begin())(*(vec.begin()))1 4.3 C只规定了非常少的二元运算符&#xff08;逻…