0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何基于OpenHarmony实现短信验证码倒计时

电子发烧友开源社区 来源:未知 2022-10-27 09:05 次阅读

1.背景

倒计时的效果在网站或其他平台看到的很多了吧,今天就让我们来看看在OpenHarmony中如何实现它吧!

2.效果预览

视频效果演示

  • 开发板:DAYU200

  • IDE:DevEco Studio 3.0 Release Build Version: 3.0.0.993,

  • API:9

3.思路

  1. 获取Input框输入值,判断手机号码是否正确,不正确的话,弹窗提示。

  2. 设置按钮倒计时,设置默认sec=60,点击后开始计数,每秒减1。

  3. 封装倒计时函数,获取数字,设置定时器,如果倒计时为0,就停止计时。

好的,接下来我们看一下代码实现。

4.创建应用

2d77b6cc-5593-11ed-a3b6-dac502259ad0.png

5.删除原有代码

删除原有代码,导入图片资源,做好准备工作。

2e2fbe7a-5593-11ed-a3b6-dac502259ad0.png

6.编写代码,实现功能

1、布局拆分

首先我们来看一下布局,然后将布局分解成它的各个基础元素:

  • 识别出它的行和列。

  • 这个布局是否包含网格布局?

  • 是否有重叠的元素?

  • 界面是否需要选项卡?

  • 留意需要对齐、内间距、或者边界的区域。

首先,识别出稍大的元素。在这个例子中,一个重叠图像,两个行区域,和一个文本区域。

2e3fe534-5593-11ed-a3b6-dac502259ad0.png

2、实现堆叠布局

首先是背景图片,我们采用堆叠布局,用Stack来展示背景并铺满整个页面。

  Stack({ alignContent: Alignment.Center }) {
Image($r('app.media.img'))
    .width('100%')
    .width('100%')
  }

(左右移动查看全部内容)

3、实现文本展示

第一行为一个文本展示,我们用Text来展示。

Text("短信验证码倒计时")
 .fontSize(36)

(左右移动查看全部内容)

4、实现输入框

TextInput({ placeholder: "请输入手机号" }) // 无输入时的提示文本(可选)。
 .type(InputType.Normal) // 输入框类型
 .placeholderColor($r("app.color.fgLevel1")) // 设置placeholder颜色
 .placeholderFont({
  size: 20,
  weight: FontWeight.Normal,
  style: FontStyle.Normal
 }) // 设置placeholder文本样式
 .enterKeyType(EnterKeyType.Next) // 设置输入法回车键类型
 .caretColor($r("app.color.info")) // 设置输入框光标颜色
 .maxLength(20) // 设置文本的最大输入字符数
 .onChange((value: string) => {
  console.log("输入的数据是" + value) // 输入发生变化时,触发回调
  this.text = value;
 })
 .width(200)
 .height(50).backgroundColor(Color.White)

(左右移动查看全部内容)

5、实现短信验证码按钮

Button(this.flag ? `${this.sec}` + "s后重新获取" : "短信验证吗", { type: ButtonType.Normal })
      .width(150)
      .height(50)
      .backgroundColor($r("app.color.morandi2_alpha"))
      .fontSize(18)
      .fontColor($r("app.color.controlFocusFg_alpha"))
      .borderRadius(10)
      .onClick(() => {
       }
      })
    }

(左右移动查看全部内容)

6、定时器的实现

private materOnClick() {
 var T = setInterval(() => {
  if (this.sec <= 0) {
   clearTimeout(T)
  } else {
   this.sec--
  }
 }, 1000)
}

(左右移动查看全部内容)

7.签名及真机调试

将搭载OpenHarmony标准系统的开发板与电脑连接。

点击File> Project Structure… > Project>SigningConfigs界面勾选“Automatically generate signing”,等待自动签名完成即可,点击“OK”。如下图所示:

2e67a89e-5593-11ed-a3b6-dac502259ad0.png

在编辑窗口右上角的工具栏,点击按钮运行。效果如下所示:

2e93e972-5593-11ed-a3b6-dac502259ad0.gif

8.源码地址

坚果/smslogin (https://gitee.com/jianguo888/smslogin)

9.总结

本文介绍了如何使用ArkUI框架,带大家完成短信验证登录,当然除了文中展示的办法,开发者还可以通过拓展其他相关的属性和方法,实现更多好玩的样例。

提示:本文由电子发烧友社区发布,转载请注明以上来源。如需社区合作及入群交流,请添加微信EEFans0806,或者发邮箱liuyong@huaqiu.com。

更多热点文章阅读

END

想了解更多开源技术?后台留言,立刻安排!

就喜欢奖励一个“”和“在看”呗~


原文标题:如何基于OpenHarmony实现短信验证码倒计时

文章出处:【微信公众号:电子发烧友开源社区】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • OpenHarmony
    +关注

    关注

    25

    文章

    3717

    浏览量

    16287

原文标题:如何基于OpenHarmony实现短信验证码倒计时

文章出处:【微信号:HarmonyOS_Community,微信公众号:电子发烧友开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    一种实现计时器变为倒计时器的设计方案

    倒计时器的设计方法很多,本文介绍了一种实现计时器变为倒计时器的设计方案。方案通过巧妙的设计方法实现了所有
    发表于 01-07 11:39 8933次阅读
    一种<b class='flag-5'>实现</b><b class='flag-5'>计时</b>器变为<b class='flag-5'>倒计时</b>器的设计方案

    用基于gin框架的Go语言来实现手机号发送短信验证码登录

    现在大多数app或wap都实现了通过手机号获取验证码进行验证登录,下面来看下用go来实现手机号发送短信
    的头像 发表于 07-20 09:36 4442次阅读
    用基于gin框架的Go语言来<b class='flag-5'>实现</b>手机号发送<b class='flag-5'>短信</b><b class='flag-5'>验证码</b>登录

    秒表倒计时

    跪求:秒表倒计时的程序设计要求:1 功能包括开始工作,暂停,复位2 可以自由设定倒计时时间(10S、20s、30s。。。)并进行倒计时3 倒计时完成后报警,如声响,灯光4 显示用LCD
    发表于 12-13 19:42

    为什么短信验证码在我们生活中频频出现

    随着时代的进步和科学技术的发展,越来越多的企业已经离不开短信验证码发送平台了,因为它可以帮助企业处理大量的用户信息,提高接收短信验证码的经验意识。大型网站提供了
    发表于 04-16 23:12

    篮球倒计时 案例

    功能描述 本工程包含了两个按键和4位数码管显示,共同实现一个篮球24秒倒计时、 并具有暂停和重新计数复位的功能。具体功能如下: 1. 数码管显示秒十位、秒个位、0.1 秒和 0.01 秒。 2. 上
    发表于 08-31 17:47

    #DAYU200#短信倒计时

    ('100%').width('100%') }1.2.3.4.5.复制3.实现文本展示第一行为一个文本展示,我们用Text来展示。Text("短信验证码倒计时"
    发表于 10-21 09:46

    基于加密短信验证码的移动安全支付解决方案

    针对移动支付过程中支付验证码容易泄露的问题,提出了基于加密短信验证码的双因素移动支付系统方案。该方案基于公开密钥系统,使用公钥基础设施/认证机构( PKI/CA)的认证方法进行服务器与客户端的在线
    发表于 11-29 14:40 0次下载
    基于加密<b class='flag-5'>短信</b><b class='flag-5'>验证码</b>的移动安全支付解决方案

    短信验证码漏洞风险多,安全系统待升级

    人在睡梦中,手机在身边。是谁远程偷看了短信验证码,还利用短信验证码完成了转账购物借贷等操作?据了解,这是不法分子通过“GSM劫持+短信嗅探”
    发表于 08-18 11:06 1440次阅读

    以一个真实网站的验证码为例,实现了基于一下KNN的验证码识别

    很多网站登录都需要输入验证码,如果要实现自动登录就不可避免的要识别验证码。本文以一个真实网站的验证码为例,实现了基于一下KNN的
    的头像 发表于 12-24 17:27 7775次阅读

    一个短信验证码爆破重置

    以前倒是遇到过不少四位数验证码爆破的,但是这种可以结合短信遍历,一个短信验证码只能验证三次的,最后能成功利用的还是第一次遇到,关键还是这里不
    的头像 发表于 09-07 09:14 5072次阅读

    倒计时3天|OpenHarmony技术峰会,我们蓄势待发!

    倒计时3天 原文标题:倒计时3天|OpenHarmony技术峰会,我们蓄势待发! 文章出处:【微信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转载请注明出处。
    的头像 发表于 02-22 21:00 599次阅读

    倒计时2天|OpenHarmony技术峰会大咖云集,破势而来!

    倒计时2天 原文标题:倒计时2天|OpenHarmony技术峰会大咖云集,破势而来! 文章出处:【微信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转载请注明出
    的头像 发表于 02-23 18:35 531次阅读

    倒计时1天|OpenHarmony技术峰会整装待发,明天见!

    点击蓝字 ╳ 关注我们 开源项目 OpenHarmony 是每个人的 OpenHarmony 技术迭新不止 共筑开源未来 2月25日 第一届开放原子开源基金会OpenHarmony技术峰会
    的头像 发表于 02-24 22:50 685次阅读

    Java 中验证码的使用

    今天我们讲一下在 Java 中验证码的使用。 验证码生成 本效果是利用easy-captcha工具包实现,首先需要添加相关依赖到pom.xml中,代码如下: com .github.whvcse
    的头像 发表于 09-25 11:11 1040次阅读
    Java 中<b class='flag-5'>验证码</b>的使用

    OpenHarmony创新赛丨报名倒计时30天!

    OpenHarmony创新赛”) 报名进入倒计时 最后30天 啦! 一个月能做什么? 把武力值练到MAX! 还在犹豫是否上车? 戳下方了解所有参赛福利↓↓↓ 你无法拒绝参赛的N个理由 如何在一个月将武力值练到MAX
    的头像 发表于 10-21 16:45 608次阅读
    <b class='flag-5'>OpenHarmony</b>创新赛丨报名<b class='flag-5'>倒计时</b>30天!