首页>商情资讯>行业新闻

HarmonyOS官方模板优秀案例(第1期:便捷生活 · 购物中心)

2025-9-10 14:35:00
  • 鸿蒙生态为开发者提供海量的HarmonyOS模板/组件,助力开发效率原地起飞 一键直达生态市场组件&模板市场 , 快速应用DevEco Studio插件市场集成组件&模板

鸿蒙生态为开发者提供海量的HarmonyOS模板/组件,助力开发效率原地起飞

一键直达生态市场组件&模板市场 , 快速应用DevEco Studio插件市场集成组件&模板

如何通过行业模板,快速高效完成项目开发?

HarmonyOS官方模板优秀案例,带您找到答案!

覆盖20+行业,点击查看往期案例汇总贴,持续更新,点击收藏!一键三连!常看常新!

【第1期】便捷生活行业 · 购物中心

一、 概述

1. 行业洞察

1) 行业痛点:

· 传统零售流量缺失,依赖第三方平台导流,佣金成本高且较难沉淀用户;

· 离场排队缴费耗时、找车难、支付流程复杂是用户最大的“离场焦虑”;

· 传统积分体系感知弱、兑换门槛高、缺乏即时激励,导致会员活跃度低;

· 传统服务链接割裂(App、小程序、收银系统独立),用户需在不同平台跳转,体验碎片化;

· 低频使用的独立App极易被用户遗忘删除;公众号/小程序需主动打开,入口深且触达率低。

2) 行业常用三方SDK

2. 优秀案例概览(下载模板)

购物中心元服务模板是基于以上行业分析实现的参考,为行业元服务提供了常用功能的开发样例,涵盖停车缴费、自助积分、店铺导购、个人钱包、券包等多个实用场景。

· Stage开发模型 + 声明式UI开发范式

· 分层架构设计 + 组件化拆分,支持开发者在开发时既可以选择完整使用模板,也可以根据需求单独选用其中的业务组件。

· 集成华为账号、支付等服务,只需做少量配置和定制即可快速实现华为账号的登录、停车缴费等功能。

基于本模板构建的【XX购物中心】元服务已正式发布上线,开发者反馈模板高度适配业务需求,显著提升了团队开发效率。

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

二、 应用架构设计

1. 分层模块化设计

· 产品定制层:专注于满足不同设备或使用场景的个性化需求,作为应用的入口,是用户直接互动的界面。

本实践暂时只支持直板机,为单HAP包形式,包含路由根节点、底部导航栏等。

· 基础特性层:用于存放相对独立的功能UI和业务逻辑实现。

本实践的基础特性层将应用底部导航栏的每个选项拆分成一个独立的业务功能模块,包含首页和我的。

每个功能模块都具备高内聚、低耦合、可定制的特点,支持产品的灵活部署。

· 公共能力层:存放公共能力,包括公共UI组件、数据管理、外部交互和工具库等共享功能。

本实践的公共能力层分为公共基础能力和可分可合组件,均打包为HAR包被上层业务组件引用。

公共基础能力包含日志、文件处理等工具类,公共类型定义,网络库,以及弹窗、加载等公共组件。

可分可合组件将包含行业特点、可完全自闭环的能力抽出独立的组件模块,支持开发者在开发中单独集成使用,详见业务组件设计章节。

本模板整体工程共分为7个包:

· 产品定制层

phone HAP包,手机设备的主入口模块

· 基础特性层

business_home HSP包,首页场景

business_mine HSP包,我的场景

· 公共能力层

lib_common HAR包,封装全局工具方法及公共组件

module_coupon HAR包,优惠券组件

module_keyboard HAR包,车牌键盘组件

module_points HAR包,自助积分组件

详细工程结构可见工程结构章节。

2. 业务组件设计

为支持开发者单独获取特定场景的页面和功能,例如开发者已搭建了一个自己的购物中心元服务工程,只想单独取用本模板中的优惠券或积分功能,本模板将功能完全自闭环的部分能力抽离出独立的行业组件模块,不依赖公共基础能力包,开发者可以单独集成,开箱即用,降低使用难度。

三、 行业场景技术方案

1. 账号管理

1) 场景说明

元服务打开后无需用户手动登录,通过静默登录后展示默认头像和默认昵称。

用户可自行选择点击关联账号按钮获取华为账号关联手机号,可将静默登录账号与用户历史注册账号关联,同步用户历史数据资产,例如头像、昵称、生日等。

2) 技术方案

· 静默登录

通过Account Kit实现元服务静默登录。

· 手机号获取

通过Scenario Fusion Kit的快速验证手机号Button,向用户发起手机号授权申请;

经用户同意后,根据获取到的Authorization Code,以及元服务服务器使用Client ID、Client Secret实现服务端开发。

2. 停车缴费

1) 场景说明

点击车牌号输入框拉起自定义键盘,根据车牌的位数展示省份、市区编号、车牌等自定义内容。

点击新增车牌支持存储常用车牌。

2) 技术方案

· 特殊键盘绑定

通过TextInput组件的customKeyboard属性,传入自定义UI,实现特殊键盘和输入框的关联。

· 常用车牌存储:

将车牌输入能力封装成独立组件,通过bindSheet方法对当前页面绑定半模态弹框,并复用车牌输入组件。

3. 会员积分

1) 场景说明

用户在商场内消费后,可通过扫描小票二维码或拍摄小票照片等方式提交自助积分申请。

2) 技术方案

· 本模板使用Scan Kit提供的默认界面扫码能力,实现系统级体验一致的扫码界面以及相册扫码入口。开发者也可以通过自定义界面扫码实现更定制化的界面样式和功能。

· 使用Media Library Kit提供的特定接口安全Picker拉起系统图库,用户可以自行选择相册内资源或拍摄照片,开发者通过获取到的图片uri进行后续的分享、上传等操作。

四、 模板代码

1. 工程结构(下载模板)

详细代码结构如下所示:

2. 关键代码解读

1) 静默登录及手机号关联

· 代码使用效果

当系统华为账号未登录时,打开本元服务模板,静默登录不成功,自动拉起系统半模态弹窗提示登录/注册华为账号;

当系统华为账号已登录时,打开本元服务模板,静默登录成功,显示“华为用户”;

用户可以选择点击关联账号,将静默登录账号与已注册账号关联,为用户同步历史数据资产。注意若要完整体验该功能,对应包名的元服务需要完成对应开发前提工作。

· 核心代码实现

通过AccountKit实现静默登录。

使用Scenario Fusion Kit的快速验证手机号Button请求云侧获取手机号需要的authCode。

端侧使用获取到的auth_code调用接口,云侧参考服务端开发获取用户的手机号信息后,端侧将号码与登录用户进行关联,并持久化存储到本地。

2) 动态服务卡片

· 代码使用效果

将停车服务卡片加桌后,可显示剩余车位和用户积分(当前为纯端模拟数据);

点击卡片刷新按钮将刷新剩余车位数,并实时同步给元服务内停车缴费页面;

在元服务内缴费消耗积分后,最新剩余积分实时同步给桌面卡片。

· 核心代码实现

通过commonEventManager公共事件管理实现卡片事件的注册和实时通信。

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,点击查看