1.背景
倒計時的效果在網站或其他平臺看到的很多了吧,今天就讓我們來看看在OpenHarmony中如何實現它吧!
2.效果預覽
視頻效果演示
-
開發板:DAYU200
-
IDE:DevEco Studio 3.0 Release Build Version: 3.0.0.993,
-
API:9
3.思路
-
獲取Input框輸入值,判斷手機號碼是否正確,不正確的話,彈窗提示。
-
設置按鈕倒計時,設置默認sec=60,點擊后開始計數,每秒減1。
-
封裝倒計時函數,獲取數字,設置定時器,如果倒計時為0,就停止計時。
好的,接下來我們看一下代碼實現。
4.創建應用

5.刪除原有代碼
刪除原有代碼,導入圖片資源,做好準備工作。

6.編寫代碼,實現功能
1、布局拆分
首先我們來看一下布局,然后將布局分解成它的各個基礎元素:
-
識別出它的行和列。
-
這個布局是否包含網格布局?
-
是否有重疊的元素?
-
界面是否需要選項卡?
-
留意需要對齊、內間距、或者邊界的區域。
首先,識別出稍大的元素。在這個例子中,一個重疊圖像,兩個行區域,和一個文本區域。

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”。如下圖所示:

在編輯窗口右上角的工具欄,點擊按鈕運行。效果如下所示:
8.源碼地址
堅果/smslogin (https://gitee.com/jianguo888/smslogin)
9.總結
本文介紹了如何使用ArkUI框架,帶大家完成短信驗證登錄,當然除了文中展示的辦法,開發者還可以通過拓展其他相關的屬性和方法,實現更多好玩的樣例。
提示:本文由電子發燒友社區發布,轉載請注明以上來源。如需社區合作及入群交流,請添加微信EEFans0806,或者發郵箱liuyong@huaqiu.com。
更多熱點文章閱讀
- 鴻湖萬聯產品推薦官招募!啟鴻OpenHarmony開發板免費體驗
- 九聯科技發布通過OpenHarmony兼容性測評的NB-IoT模組UMN202-B6
- 華為多機型開啟鴻蒙 HarmonyOS 3 正式版不限量升級
- ROC-RK3568-PC開發板體驗:網絡數據傳輸性能測試
- 使用WSL2編譯OpenHarmony DAYU200鏡像效率翻倍
END
想了解更多開源技術?后臺留言,立刻安排!就喜歡獎勵一個“”和“在看”唄~
原文標題:如何基于OpenHarmony實現短信驗證碼倒計時
文章出處:【微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。
-
OpenHarmony
+關注
關注
28文章
3838瀏覽量
18243
原文標題:如何基于OpenHarmony實現短信驗證碼倒計時
文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
秒表倒計時
為什么短信驗證碼在我們生活中頻頻出現
籃球倒計時 案例
#DAYU200#短信倒計時
基于加密短信驗證碼的移動安全支付解決方案

短信驗證碼漏洞風險多,安全系統待升級
以一個真實網站的驗證碼為例,實現了基于一下KNN的驗證碼識別
一個短信驗證碼爆破重置
倒計時3天|OpenHarmony技術峰會,我們蓄勢待發!
倒計時2天|OpenHarmony技術峰會大咖云集,破勢而來!
倒計時1天|OpenHarmony技術峰會整裝待發,明天見!
Java 中驗證碼的使用

OpenHarmony創新賽丨報名倒計時30天!

評論