鴻蒙生態(tài)為開(kāi)發(fā)者提供海量的HarmonyOS模板/組件,助力開(kāi)發(fā)效率原地起飛
一鍵直達(dá)生態(tài)市場(chǎng)組件&模板市場(chǎng) , 快速應(yīng)用DevEco Studio插件市場(chǎng)集成組件&模板
工具行業(yè)群英薈萃,是小而美應(yīng)用的主要聚集賽道
本期介紹的案例是其中一類(lèi):日常剛需的日歷應(yīng)用
覆蓋20+行業(yè),點(diǎn)擊查看往期案例匯總貼,持續(xù)更新,點(diǎn)擊收藏!一鍵三連!??闯P?!
【第5期】工具行業(yè) · 日歷應(yīng)用
一、 概述
1. 行業(yè)洞察
1) 行業(yè)訴求:
· 日歷類(lèi)應(yīng)用,未來(lái)競(jìng)爭(zhēng)將聚焦于 AI 驅(qū)動(dòng)的個(gè)性化體驗(yàn)、場(chǎng)景化生態(tài)構(gòu)建及文化適配能力正從單一工具進(jìn)化為連接工作、生活、社交的 “時(shí)間操作系統(tǒng)”。
· 商業(yè)模式是日歷類(lèi)應(yīng)用的重要場(chǎng)景訴求,目前免費(fèi)增值為主,差異化變現(xiàn)破局,如何結(jié)合小藝做個(gè)性化推薦是差異化的根本。
· 滿足用戶的進(jìn)階需求:社交協(xié)作,隱私保護(hù)。
2) 行業(yè)常用三方SDK

說(shuō)明:“以上三方庫(kù)及鏈接僅為示例,三方庫(kù)由三方開(kāi)發(fā)者獨(dú)立提供,以其官方內(nèi)容為準(zhǔn)”
2. 案例概覽(下載模板)
基于以上行業(yè)分析,本期將介紹鴻蒙生態(tài)市場(chǎng)生活服務(wù)類(lèi)行業(yè)模板——日歷應(yīng)用模板,為行業(yè)提供常用功能的開(kāi)發(fā)案例,模板主要分為萬(wàn)年歷、黃歷、和我的三大模塊。
· Stage開(kāi)發(fā)模型 + 聲明式UI開(kāi)發(fā)范式。
· 分層架構(gòu)設(shè)計(jì) + 組件化拆分,支持開(kāi)發(fā)者在開(kāi)發(fā)時(shí)既可以選擇完整使用模板,也可以根據(jù)需求單獨(dú)選用其中的業(yè)務(wù)組件。
· 本模板已集成華為賬號(hào)等服務(wù),只需做少量配置和定制即可快速實(shí)現(xiàn)華為賬號(hào)的登錄。

本模板主要頁(yè)面及核心功能如下所示:

二、 應(yīng)用架構(gòu)設(shè)計(jì)
1. 分層模塊化設(shè)計(jì)
· 產(chǎn)品定制層:專(zhuān)注于滿足不同設(shè)備或使用場(chǎng)景的個(gè)性化需求,作為應(yīng)用的入口,是用戶直接互動(dòng)的界面。
本實(shí)踐暫時(shí)只支持直板機(jī),為單HAP包形式,包含路由根節(jié)點(diǎn)、底部導(dǎo)航欄等。
· 基礎(chǔ)特性層:用于存放相對(duì)獨(dú)立的功能UI和業(yè)務(wù)邏輯實(shí)現(xiàn)。
本實(shí)踐的基礎(chǔ)特性層將應(yīng)用底部導(dǎo)航欄的每個(gè)選項(xiàng)拆分成一個(gè)獨(dú)立的業(yè)務(wù)功能模塊。
每個(gè)功能模塊都具備高內(nèi)聚、低耦合、可定制的特點(diǎn),支持產(chǎn)品的靈活部署。
· 公共能力層:存放公共能力,包括公共UI組件、數(shù)據(jù)管理、外部交互和工具庫(kù)等共享功能。
本實(shí)踐的公共能力層分為公共基礎(chǔ)能力和可分可合組件,均打包為HAR包被上層業(yè)務(wù)組件引用。
公共基礎(chǔ)能力包含日志、文件處理等工具類(lèi),公共類(lèi)型定義,網(wǎng)絡(luò)庫(kù),以及彈窗、加載等公共組件。
可分可合組件將包含行業(yè)特點(diǎn)、可完全自閉環(huán)的能力抽出獨(dú)立的組件模塊,支持開(kāi)發(fā)者在開(kāi)發(fā)中單獨(dú)集成使用,詳見(jiàn)業(yè)務(wù)組件設(shè)計(jì)章節(jié)。

2. 業(yè)務(wù)組件設(shè)計(jì)
為支持開(kāi)發(fā)者單獨(dú)獲取特定場(chǎng)景的頁(yè)面和功能,本模板將功能完全自閉環(huán)的部分能力抽離出獨(dú)立的行業(yè)組件模塊,不依賴公共基礎(chǔ)能力包,開(kāi)發(fā)者可以單獨(dú)集成,開(kāi)箱即用,降低使用難度。

三、 行業(yè)場(chǎng)景技術(shù)方案
1. 個(gè)人信息
1) 場(chǎng)景說(shuō)明
支持華為賬號(hào)一鍵登錄及其他方式(賬號(hào)密碼登錄)。
用戶登錄后展示昵稱(chēng)和頭像,點(diǎn)擊用戶信息欄可進(jìn)入用戶主頁(yè),查看并編輯個(gè)人信息和歷史動(dòng)態(tài)。
支持添加重要提醒(日程、生日、紀(jì)念日、代辦),更新提醒,刪除提醒。

2) 技術(shù)方案
· 華為賬號(hào)一鍵登錄
通過(guò)Account Kit實(shí)現(xiàn)華為賬號(hào)一鍵登錄,并獲取用戶手機(jī)號(hào),關(guān)聯(lián)應(yīng)用已有用戶。
· 頭像修改
通過(guò)Scenario Fusion Kit提供的選擇頭像Button快速拉起頭像選擇頁(yè)面,供用戶完成華為賬號(hào)頭像或其他頭像的選擇與展示。
· 重要提醒
通過(guò)@kit.CalendarKit提供的提供日歷與日程管理能力將應(yīng)用中的工作、生活中與時(shí)間相關(guān)的日程服務(wù)與系統(tǒng)日歷進(jìn)行集成,從而實(shí)現(xiàn)日程管理、事件創(chuàng)建、查詢等功能。
· 主題切換
通過(guò)全局主題對(duì)象,控制全局的主題顏色切換,并使用持久化存儲(chǔ)當(dāng)前主題選擇。
3) 代碼參考
· 部分核心代碼參見(jiàn)華為賬號(hào)一鍵登錄實(shí)現(xiàn)章節(jié)。
2. 黃歷
1) 場(chǎng)景說(shuō)明
· 支持根據(jù)日期查看當(dāng)日黃歷信息。
· 切換日期查詢其他日期黃歷。
· 根據(jù)選擇日期查看今日宜今日忌。
· 支持根據(jù)選擇的黃歷查看白話文。

2) 技術(shù)方案
根據(jù)萬(wàn)年歷選擇日期進(jìn)行對(duì)應(yīng)日期黃歷的展示。
通過(guò)日歷選擇組件暴露的句柄,感知當(dāng)前選擇的日期,并通過(guò)句柄同步修改萬(wàn)年歷對(duì)應(yīng)的日期。
3) 代碼參考
· 部分核心代碼參見(jiàn)黃歷實(shí)現(xiàn)章節(jié)。
3. 萬(wàn)年歷
1) 場(chǎng)景說(shuō)明
支持日歷查看,日期切換,設(shè)置周首日。
支持查看今日宜,今日忌。
支持實(shí)用工具查詢(吉日查詢,日期計(jì)算,節(jié)日節(jié)氣)。
支持查看城市限行。
支持查看歷史上的今天。

2) 技術(shù)方案
· 日歷查看
通過(guò)使用Swiper組件結(jié)合計(jì)算每月的日期實(shí)現(xiàn)日期輪播查看。
· 頭像修改
通過(guò)Scenario Fusion Kit提供的選擇頭像Button快速拉起頭像選擇頁(yè)面,供用戶完成華為賬號(hào)頭像或其他頭像的選擇與展示。
· 實(shí)用工具
使用工具結(jié)合DatePicker日期選擇器,實(shí)現(xiàn)日期選擇并根據(jù)條件計(jì)算。
· 城市限行
通過(guò)申請(qǐng)位置權(quán)限,或者當(dāng)前城市的限行車(chē)牌尾號(hào),并進(jìn)行展示。
3) 代碼參考
· 部分核心代碼參見(jiàn)萬(wàn)年歷實(shí)現(xiàn)章節(jié)。
四、 模板代碼
1. 工程結(jié)構(gòu)(下載模板)
詳細(xì)代碼結(jié)構(gòu)如下所示:


2. 關(guān)鍵代碼解讀
本篇代碼非應(yīng)用的全量代碼,只包括應(yīng)用的部分能力的關(guān)鍵代碼。
若需獲取全量代碼,請(qǐng)查看模板集成章節(jié)。
1) 個(gè)人信息
· 華為賬號(hào)一鍵登錄

· 重要提醒



2) 黃歷
· 重要提醒

· 切換日期

· 獲取今日宜和忌

3) 萬(wàn)年歷
· 展示日歷

· 獲取位置權(quán)限

3. 模板集成
本模板提供了兩種代碼集成方式,供開(kāi)發(fā)者自由選用。
1) 整體集成(下載模板)
開(kāi)發(fā)者可以選擇直接基于模板工程開(kāi)發(fā)自己的應(yīng)用工程。
· 模板代碼獲?。?/strong>
通過(guò)IDE插件創(chuàng)建模板工程,開(kāi)發(fā)指導(dǎo)。
通過(guò)生態(tài)市場(chǎng)下載源碼, 下載模板。
通過(guò)開(kāi)源倉(cāng)訪問(wèn)源碼,倉(cāng)庫(kù)地址。
· 打開(kāi)模板工程,根據(jù)README說(shuō)明中的快速入門(mén)章節(jié),將自己的應(yīng)用信息配置在模板工程內(nèi),即可運(yùn)行并查看模板效果。

· 對(duì)接開(kāi)發(fā)者自己的服務(wù)器接口,轉(zhuǎn)換數(shù)據(jù)結(jié)構(gòu),展示真實(shí)的云側(cè)數(shù)據(jù)。
將
commons/lib_common/src/main/ets/httprequest/HttpRequestApi.ets文件中的mock接口替換為真實(shí)的服務(wù)器接口。

在
commons/lib_common/src/main/ets/httprequest/HttpRequest.ets文件中將云側(cè)開(kāi)發(fā)者自定義的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為端側(cè)數(shù)據(jù)結(jié)構(gòu)。

根據(jù)自己的業(yè)務(wù)內(nèi)容修改模板,進(jìn)行定制化開(kāi)發(fā)。
2) 按需集成
若開(kāi)發(fā)者已搭建好自己的應(yīng)用工程,但暫未實(shí)現(xiàn)其中的部分場(chǎng)景能力,可以選擇取用其中的業(yè)務(wù)組件,集成在自己的工程中。
· 組件代碼獲?。?/strong>
通過(guò)IDE插件下載組件源碼。開(kāi)發(fā)指導(dǎo)
通過(guò)生態(tài)市場(chǎng)下載組件源碼。 下載地址
· 下載組件源碼,根據(jù)README中的說(shuō)明,將組件包配置在自己的工程中。

· 根據(jù)API參考和示例代碼,將組件集成在自己的對(duì)應(yīng)場(chǎng)景中。
以上是第五期“工具行業(yè)-日歷應(yīng)用”行業(yè)優(yōu)秀案例的內(nèi)容,更多行業(yè)敬請(qǐng)期待~
歡迎下載使用行業(yè)模板“點(diǎn)擊下載”,若您有體驗(yàn)和開(kāi)發(fā)問(wèn)題,或者迫不及待想了解XX行業(yè)的優(yōu)秀案例,歡迎在評(píng)論區(qū)留言,小編會(huì)快馬加鞭為您解答~
HarmonyOS官方模板優(yōu)秀案例系列持續(xù)更新, 點(diǎn)擊查看往期案例匯總貼, 點(diǎn)擊收藏 “?
”方便查找!【互動(dòng)有禮】邀請(qǐng)你成為HarmonyOS官方模板產(chǎn)品經(jīng)理,優(yōu)化方案由你制定!點(diǎn)擊參加
HarmonyOS組件模板相關(guān)推薦:鴻蒙應(yīng)用開(kāi)發(fā)者激勵(lì)計(jì)劃2025,點(diǎn)擊查看