鸿蒙生态为开发者提供海量的HarmonyOS模板/组件,助力开发效率原地起飞
一键直达生态市场组件&模板市场 , 快速应用DevEco Studio插件市场集成组件&模板
工具行业群英荟萃,是小而美应用的主要聚集赛道
本期介绍的案例是其中一类:日常刚需的日历应用
覆盖20+行业,点击查看往期案例汇总贴,持续更新,点击收藏!一键三连!常看常新!
【第5期】工具行业 · 日历应用
一、 概述
1. 行业洞察
1) 行业诉求:
· 日历类应用,未来竞争将聚焦于 AI 驱动的个性化体验、场景化生态构建及文化适配能力正从单一工具进化为连接工作、生活、社交的 “时间操作系统”。
· 商业模式是日历类应用的重要场景诉求,目前免费增值为主,差异化变现破局,如何结合小艺做个性化推荐是差异化的根本。
· 满足用户的进阶需求:社交协作,隐私保护。
2) 行业常用三方SDK

说明:“以上三方库及链接仅为示例,三方库由三方开发者独立提供,以其官方内容为准”
2. 案例概览(下载模板)
基于以上行业分析,本期将介绍鸿蒙生态市场生活服务类行业模板——日历应用模板,为行业提供常用功能的开发案例,模板主要分为万年历、黄历、和我的三大模块。
· Stage开发模型 + 声明式UI开发范式。
· 分层架构设计 + 组件化拆分,支持开发者在开发时既可以选择完整使用模板,也可以根据需求单独选用其中的业务组件。
· 本模板已集成华为账号等服务,只需做少量配置和定制即可快速实现华为账号的登录。

本模板主要页面及核心功能如下所示:

二、 应用架构设计
1. 分层模块化设计
· 产品定制层:专注于满足不同设备或使用场景的个性化需求,作为应用的入口,是用户直接互动的界面。
本实践暂时只支持直板机,为单HAP包形式,包含路由根节点、底部导航栏等。
· 基础特性层:用于存放相对独立的功能UI和业务逻辑实现。
本实践的基础特性层将应用底部导航栏的每个选项拆分成一个独立的业务功能模块。
每个功能模块都具备高内聚、低耦合、可定制的特点,支持产品的灵活部署。
· 公共能力层:存放公共能力,包括公共UI组件、数据管理、外部交互和工具库等共享功能。
本实践的公共能力层分为公共基础能力和可分可合组件,均打包为HAR包被上层业务组件引用。
公共基础能力包含日志、文件处理等工具类,公共类型定义,网络库,以及弹窗、加载等公共组件。
可分可合组件将包含行业特点、可完全自闭环的能力抽出独立的组件模块,支持开发者在开发中单独集成使用,详见业务组件设计章节。

2. 业务组件设计
为支持开发者单独获取特定场景的页面和功能,本模板将功能完全自闭环的部分能力抽离出独立的行业组件模块,不依赖公共基础能力包,开发者可以单独集成,开箱即用,降低使用难度。

三、 行业场景技术方案
1. 个人信息
1) 场景说明
支持华为账号一键登录及其他方式(账号密码登录)。
用户登录后展示昵称和头像,点击用户信息栏可进入用户主页,查看并编辑个人信息和历史动态。
支持添加重要提醒(日程、生日、纪念日、代办),更新提醒,删除提醒。

2) 技术方案
· 华为账号一键登录
通过Account Kit实现华为账号一键登录,并获取用户手机号,关联应用已有用户。
· 头像修改
通过Scenario Fusion Kit提供的选择头像Button快速拉起头像选择页面,供用户完成华为账号头像或其他头像的选择与展示。
· 重要提醒
通过@kit.CalendarKit提供的提供日历与日程管理能力将应用中的工作、生活中与时间相关的日程服务与系统日历进行集成,从而实现日程管理、事件创建、查询等功能。
· 主题切换
通过全局主题对象,控制全局的主题颜色切换,并使用持久化存储当前主题选择。
3) 代码参考
· 部分核心代码参见华为账号一键登录实现章节。
2. 黄历
1) 场景说明
· 支持根据日期查看当日黄历信息。
· 切换日期查询其他日期黄历。
· 根据选择日期查看今日宜今日忌。
· 支持根据选择的黄历查看白话文。

2) 技术方案
根据万年历选择日期进行对应日期黄历的展示。
通过日历选择组件暴露的句柄,感知当前选择的日期,并通过句柄同步修改万年历对应的日期。
3) 代码参考
· 部分核心代码参见黄历实现章节。
3. 万年历
1) 场景说明
支持日历查看,日期切换,设置周首日。
支持查看今日宜,今日忌。
支持实用工具查询(吉日查询,日期计算,节日节气)。
支持查看城市限行。
支持查看历史上的今天。

2) 技术方案
· 日历查看
通过使用Swiper组件结合计算每月的日期实现日期轮播查看。
· 头像修改
通过Scenario Fusion Kit提供的选择头像Button快速拉起头像选择页面,供用户完成华为账号头像或其他头像的选择与展示。
· 实用工具
使用工具结合DatePicker日期选择器,实现日期选择并根据条件计算。
· 城市限行
通过申请位置权限,或者当前城市的限行车牌尾号,并进行展示。
3) 代码参考
· 部分核心代码参见万年历实现章节。
四、 模板代码
1. 工程结构(下载模板)
详细代码结构如下所示:


2. 关键代码解读
本篇代码非应用的全量代码,只包括应用的部分能力的关键代码。
若需获取全量代码,请查看模板集成章节。
1) 个人信息
· 华为账号一键登录

· 重要提醒



2) 黄历
· 重要提醒

· 切换日期

· 获取今日宜和忌

3) 万年历
· 展示日历

· 获取位置权限

3. 模板集成
本模板提供了两种代码集成方式,供开发者自由选用。
1) 整体集成(下载模板)
开发者可以选择直接基于模板工程开发自己的应用工程。
· 模板代码获取:
通过IDE插件创建模板工程,开发指导。
通过生态市场下载源码, 下载模板。
通过开源仓访问源码,仓库地址。
· 打开模板工程,根据README说明中的快速入门章节,将自己的应用信息配置在模板工程内,即可运行并查看模板效果。

· 对接开发者自己的服务器接口,转换数据结构,展示真实的云侧数据。
将
commons/lib_common/src/main/ets/httprequest/HttpRequestApi.ets文件中的mock接口替换为真实的服务器接口。

在
commons/lib_common/src/main/ets/httprequest/HttpRequest.ets文件中将云侧开发者自定义的数据结构转换为端侧数据结构。

根据自己的业务内容修改模板,进行定制化开发。
2) 按需集成
若开发者已搭建好自己的应用工程,但暂未实现其中的部分场景能力,可以选择取用其中的业务组件,集成在自己的工程中。
· 组件代码获取:
通过IDE插件下载组件源码。开发指导
通过生态市场下载组件源码。 下载地址
· 下载组件源码,根据README中的说明,将组件包配置在自己的工程中。

· 根据API参考和示例代码,将组件集成在自己的对应场景中。
以上是第五期“工具行业-日历应用”行业优秀案例的内容,更多行业敬请期待~
欢迎下载使用行业模板“点击下载”,若您有体验和开发问题,或者迫不及待想了解XX行业的优秀案例,欢迎在评论区留言,小编会快马加鞭为您解答~
HarmonyOS官方模板优秀案例系列持续更新, 点击查看往期案例汇总贴, 点击收藏 “♥
”方便查找!【互动有礼】邀请你成为HarmonyOS官方模板产品经理,优化方案由你制定!点击参加
HarmonyOS组件模板相关推荐:鸿蒙应用开发者激励计划2025,点击查看