HarmonyOS鸿蒙NEXT开发案例:餐饮行业官方模板介绍 茶饮元服务模板

HarmonyOS鸿蒙NEXT开发案例:餐饮行业官方模板介绍 茶饮元服务模板 鸿蒙生态市场


💡摘要: 本模板来自华为生态市场(Huawei Partner Market),本文选取了餐饮行业的一个官方模板——茶饮元服务模板,并进行了简要的介绍与分析。各位开发者伙伴们,更多行业模板与组件请进入生态市场查看!


一、概述

  1. 行业洞察(待补充) 1)行业痛点:

  2. 优秀案例概览 基于以上行业分析,本期将介绍鸿蒙生态市场餐饮行业模板——茶饮元服务模板,为行业提供常用功能的开发案例,模板主要分首页、点单、我的订单和我的四大模块

    • Stage开发模型 + 声明式UI开发范式
    • 分层架构设计 + 组件化拆分,支持开发者在开发时既可以选择完整使用模板,也可以根据需求单独选用其中的业务组件
    • 本模板已集成华为账号、地图、华为支付、通话等服务,只需做少量配置和定制即可快速实现华为账号的登录、商家位置定位导航、购买茶饮和联系商家等功能
首页 点单 我的订单 我的
首页 点单 我的订单 我的

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

餐饮茶饮点单模板
 |-- 首页
 |    |-- banner
 |    |-- 用户信息
 |    |-- 配送方式
 |    |    └-- 店铺列表
 |    |-- 店铺活动
 |    └-- 会员广告
 |-- 点单
 |    |-- 店铺信息
 |    |    |-- 店铺详情
 |    |    |-- 店铺位置和导航
 |    |    └-- 店铺电话
 |    |-- 优惠券
 |    |    |-- 店铺优惠
 |    |    └-- 优惠券列表
 |    |-- 商品列表
 |    |    |-- 搜索商品
 |    |    |-- 商品详情
 |    |    └-- 商品规格
 |    |-- 购物车
 |    |    |-- 清空购物车
 |    |    |-- 修改购物车商品
 |    |    └-- 下单
 |    └-- 提交订单
 |-- 我的订单
 |    |-- 订单列表
 |    |    |-- 今日订单
 |    |    └-- 历史订单
 |    └-- 订单详情
 └-- 我的
      |-- 用户信息
      |    |-- 关联解绑账号
      |    └-- 完善信息
      |-- 店铺会员
      |    |-- 茶力值
      |    |-- 会员码
      |    |-- 优惠券
      |    |-- 积分
      └-- 帮助中心
           |-- 地址管理
           └-- 联系客服

二、应用架构设计

1. 分层模块化设计

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

    • 本实践暂时只支持直板机,为单HAP包形式,包含路由根节点、底部导航栏等。
  • 基础特性层: 用于存放相对独立的功能UI和业务逻辑实现。

    • 本实践的基础特性层将应用底部导航栏的每个选项拆分成一个独立的业务功能模块。
    • 每个功能模块都具备高内聚、低耦合、可定制的特点,支持产品的灵活部署。
  • 公共能力层: 存放公共能力,包括公共UI组件、数据管理、外部交互和工具库等共享功能。

    • 本实践的公共能力层分为公共基础能力和可分可合组件,均打包为HAR包被上层业务组件引用。
    • 公共基础能力包含日志、文件处理等工具类,公共类型定义,网络库,以及弹窗、加载等公共组件。
    • 可分可合组件将包含行业特点、可完全自闭环的能力抽出独立的组件模块,支持开发者在开发中单独集成使用,详见业务组件设计章节。

分层模块化设计

本模板详细工程结构可见工程结构章节。


2. 业务组件设计

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

业务组件设计


三、行业场景技术方案(待补充)

  1. 账号管理 1)场景说明 2)技术方案

  2. 店铺会员 1)场景说明 2)技术方案

  3. 点单页面 1)场景说明 2)技术方案

  4. 优惠券 1)场景说明 2)技术方案

四、模板代码

1. 工程结构

详细代码结构如下所示:

TeaDrinkOrders
  ├─commons/common/src/main
  │  ├─ets
  │  │  ├─axiosHttpRequest
  │  │  │      AxiosHttp.ets                  // 网络请求封装
  │  │  │      AxiosModel.ets                 // 网络请求对象
  │  │  │      AxiosRequest.ets               // 网络请求定义
  │  │  │      HttpRequest.ets                // 网络请求接口封装
  │  │  │      HttpRequestApi.ets             // 网络请求接口
  │  │  ├─cardManager
  │  │  │      CardManager.ets                // 卡片管理类
  │  │  ├─components
  │  │  │      AddAddressComp.ets             // 新增地址组件
  │  │  │      BusinessTimeDialog.ets         // 店铺休息弹窗
  │  │  │      CallTelSheet.ets               // 拨打电话弹窗
  │  │  │      CouponCardComp.ets             // 优惠券卡片组件
  │  │  │      EmptyComp.ets                  // 空数据组件
  │  │  │      HwMap.ets                      // 店铺地图
  │  │  │      HwMapComp.ets                  // 地图组件
  │  │  │      LoadingDialog.ets              // 加载中组件
  │  │  │      MemberCodePage.ets             // 会员码页面
  │  │  │      NavHeaderBar.ets               // navigation页面抬头
  │  │  │      OrderDetailCards.ets           // 订单详情卡片组件
  │  │  │      PayTypeDialog.ets              // 支付弹窗
  │  │  │      PkgGoodComp.ets                // 套餐内商品组件
  │  │  │      PreviewImagePage.ets           // 图片预览弹窗
  │  │  │      SheetHeaderComp.ets            // 半模态页面标题栏
  │  │  ├─constants
  │  │  │      Common.ets                     // 公共常量
  │  │  │      RouterMap.ets                  // 路由页面常量
  │  │  ├─mock
  │  │  │      MockData.ets                   // 接口mock数据
  │  │  │      MockResponse.ets               // 接口mock请求
  │  │  ├─models
  │  │  │      ParamsModel.ets                // 参数对象
  │  │  │      RequestModel.ets               // 网络请求参数对象
  │  │  │      ResponseModel.ets              // 网络请求响应对象
  │  │  │      RouterModel.ets                // 路由参数对象
  │  │  │      StorageModel.ets               // AppStorage参数对象
  │  │  │      TabBarModel.ets                // 底部导航栏对象
  │  │  └─utils
  │  │         AsWebRichText.ets              // asweb富文本展示
  │  │         CalculatorUtils.ets            // 计算方法
  │  │         Logger.ets                     // 日志方法
  │  │         PermissionUtil.ets             // 权限申请方法
  │  │         PreferenceUtil.ets             // 首选项方法
  │  │         Utils.ets                      // 公共方法
  │  │         WindowModel.ets                // 窗口方法
  │  └─resources
  │─features/home/src/main   
  │  ├─ets
  │  │  ├─components
  │  │  │      SelectStoreComp.ets             // 店铺选择组件
  │  │  └─pages
  │  │         HomePage.ets                    // 首页页面
  │  │         SelectStorePage.ets            // 店铺选择页面
  │─features/mine/src/main   
  │  ├─ets
  │  │  ├─components
  │  │  │      MembershipComp.ets              // 会员信息组件
  │  │  │      MenuComp.ets                    // 菜单组件
  │  │  │      UserInfoComp.ets                // 用户信息组件
  │  │  └─pages
  │  │         AddAddressPage.ets              // 新增地址页面
  │  │         AddressMgPage.ets               // 问题答复页面
  │  │         MinePage.ets                    // 我的页面
  │  │         MyCouponsPage.ets               // 优惠券页面
  │  │         UserInfoPage.ets                // 用户信息页面
  │  └─resources
  │─features/order/src/main   
  │  ├─ets
  │  │  ├─components
  │  │  │      AddAddressSheetComp.ets         // 新增地址半模态组件
  │  │  │      AddressSheetComp.ets            // 选择地址半模态组件
  │  │  │      CouponComp.ets                  // 优惠券组件
  │  │  │      GoodInfoComp.ets                // 商品信息组件
  │  │  │      GoodsListComp.ets               // 商品列表组件
  │  │  │      MyCarComp.ets                   // 购物车组件
  │  │  │      MyCarListComp.ets               // 购物车列表组件
  │  │  │      PackageCarListComp.ets          // 套餐内商品列表组件
  │  │  │      SpecSheetComp.ets               // 规格模态窗口组件
  │  │  │      TitleComp.ets                   // 点单标题栏组件
  │  │  └─pages
  │  │         ConfirmOrderPage.ets            // 确认订单页面
  │  │         GoodDetailPage.ets              // 商品详情页面
  │  │         MerchantDetailPage.ets          // 店铺详情页面
  │  │         OrderPage.ets                   // 点单页面
  │  └─resources
  │─features/order_list/src/main   
  │  ├─ets
  │  │  ├─components
  │  │  │      OrderListComp.ets               // 订单列表组件
  │  │  │      OrderTypeComp.ets               // 订单状态组件
  │  │  └─pages
  │  │         OrderDetailPage.ets             // 订单详情页面
  │  │         OrderListPage.ets               // 订单列表页面
  │  └─resources
  └─products/phone/src/main   
     ├─ets
     │  ├─components
     │  │      CustomTabBar.ets                // 自定义底部tab栏组件
     │  ├─entryability
     │  │      EntryAbility.ets                // 应用程序入口
     │  ├─entryformability
     │  │      EntryFormAbility.ets            // 卡片程序入口
     │  ├─pages
     │  │      Index.ets                       // 入口页面
     │  │      IndexPage.ets                   // 主页面
     │  └─widget/pages
     │         WidgetCard.ets                  // 卡片页面
     └─resources

2. 关键代码解读(待补充)

  • 待补充

3. 模板集成

本模板提供了两种代码集成方式,供开发者自由使用。

1)整体集成

开发者可以选择直接基于模板工程开发自己的应用工程。


更多关于HarmonyOS鸿蒙NEXT开发案例:餐饮行业官方模板介绍 茶饮元服务模板的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

茶饮元服务模板是专为餐饮行业设计的鸿蒙NEXT官方开发模板。该模板基于ArkTS语言开发,提供完整的茶饮订购功能架构,包括商品展示、购物车、订单管理和支付对接模块。采用Stage模型和声明式UI开发,支持一次开发多端部署。模板集成了统一的UI风格和业务逻辑,可直接复用或定制开发,加速餐饮类元服务应用上线。

更多关于HarmonyOS鸿蒙NEXT开发案例:餐饮行业官方模板介绍 茶饮元服务模板的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


茶饮元服务模板是HarmonyOS NEXT在餐饮行业的典型开发案例,采用Stage模型和声明式UI开发,具备模块化架构设计。该模板集成了华为账号、地图、支付和通话等核心服务,支持快速定制开发。主要功能模块包括首页、点单、订单管理和用户中心,适用于茶饮类应用的快速构建。开发者可通过华为生态市场获取源码,支持整体或按需集成,降低开发门槛。

回到顶部