HarmonyOS鸿蒙Next开发案例:汽车类行业官方模板介绍 (Part1:汽车保养应用模板)

HarmonyOS鸿蒙Next开发案例:汽车类行业官方模板介绍 (Part1:汽车保养应用模板) 鸿蒙生态市场

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

一、概述

  1. 行业洞察(待补充)

    1)行业痛点

  2. 优秀案例概览

    基于以上行业分析,本期将介绍鸿蒙生态市场汽车类行业模板——汽车保养应用模板,为行业提供常用功能的开发案例,模板主要分首页、汽车服务和我的三大模块

    • Stage开发模型 + 声明式UI开发范式
    • 分层架构设计 + 组件化拆分,支持开发者在开发时既可以选择完整使用模板,也可以根据需求单独选用其中的业务组件
    • 本模板已集成华为账号、地图服务,只需做少量配置和定制即可快速实现华为账号登录、店铺定位、基于位置查找店铺等功能
首页 汽车服务 我的
首页 汽车服务 我的
城市选择 品牌选择 车牌键盘
城市选择 品牌选择 车牌键盘

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

汽车美容模板
 |-- 首页
 |    |-- 功能选择
 |    |      |-- 保养
 |    |      |-- 美容
 |    |      |-- 电瓶
 |    |      |-- 除积碳
 |    |      |-- 洗车
 |    |      |-- 轮胎 
 |    |      |-- 变速箱油
 |    |      |-- 预约
 |    |-- 滚动广告
 |    |    └-- 广告详情
 |    |-- 附近好店
 |    |    └-- 门店列表
 |    |-- 推荐套餐
 |    |    └-- 套餐列表
 |    |
 |-- 汽车服务
 |    |-- 店铺介绍
 |    |-- 领券
 |    |-- 添加爱车
 |    |
 |    |-- 服务项目
 |    |      |-- 美容
 |    |      |-- 轮胎
 |    |      └-- 保养
 |    |
 └-- 我的
      |-- 我的订单
      |-- 我的预约
      |-- 我的优惠券
      |-- 我的车辆
      └-- 联系人信息
           └-- 添加联系人信息

二、应用架构设计

1. 分层模块化设计

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

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

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

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

分层模块化设计

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

2. 业务组件设计

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

业务组件设计

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

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

  2. 推荐套餐 1)场景说明 2)技术方案

  3. 附近好店 1)场景说明 2)技术方案

  4. 汽车服务 1)场景说明 2)技术方案

四、模板代码

1. 工程结构

详细代码结构如下所示:

car_beauty_care
  |- commons                                       // 公共层
  |   |- commonlib/src/main/ets                    // 公共工具模块(har)
  |   |    |- constants 
  |   |    |     CommonContants.ets                // 公共常量
  |   |    |     CommonEnum.ets                    // 公共枚举
  |   |    |     Constants.ets                     // 异常类常量 
  |   |    |     ShowToast.ets                     // 错误提示处理工具
  |   |    |- model 
  |   |    |     CommonModel.ets                   // 地理位置获取
  |   |    └- utils 
  |   |          AccountUtil.ets                   // 账号管理工具
  |   |          FormatUtil.ets                    // 日历、图片等格式管理工具
  |   |          LocateUtil                        // 定位工具类
  |   |          Logger.ets                        // 日志管理工具
  |   |          PermissionUtil.ets                // 授权申请类
  |   |          PickerUtil.ets                    // 相机工具类
  |   |          PromptActionClass.ets             // 操作管理类
  |   |          RouterModule.ets                  // 路由管理类
  |   |          
  |   |- componentlib/src/main/ets                 // 公共组件模块(har)
  |   |    |- components 
  |   |    |     AddCar.ets                        // 添加爱车组件
  |   |    |     ShopMap.ets                       // 店铺地图
  |   |    |     TitleBarView.ets                  // 标题栏
  |   |    └- dialog 
  |   |    |     BindPhoneDialog.ets               // 手机号验证
  |   |    | 
  |   └- network/src/main/ets                      // 网络模块(har)
  |        |- apis                                 
  |        |     HttpApis                          // 通信封装
  |        |     
  |        |- constants                            
  |        |     NetworkEnums.ets                  // 地址常量
  |        |  
  |        |- mocks                                  
  |        |     HttpApisMock.ets                  // 模拟用户信息
  |        |     MockRequestMap.ets                // 模拟用户发送请求
  |        |  
  |        |- models                                 
  |        |     AxiosHttpModel.ets                // 网络请求封装
  |        |     AxiosRequest.ets                // 请求实例 
  |        |
  |        └- types                                 
  |        |     RequestTypes.ets                  // 请求类型
  |        |     ResponseTypes.ets                 // 响应类型
  |        |    
  |- products                                      // 公共入口层
  |   |- entry/src/main/ets                   
  |   |    |- components  
  |   |    |     AtomicWeb.ets                     // WebView 组件  
  |   |    |     Drawer.component.ets              // 商品列表组件  
  |   |    |     MineView.ets                      // 我的
  |   |    |     ProductCardComponent.ets          // 产品卡片 
  |   |    |     ProductDetail.ets                 // 产品细节 
  |   |    |     ShoppingCar.ets                   // 购物车 
  |   |    |  
  |   |    |- constants 
  |   |    |     Constants.ets                     // 汽车服务常量
  |   |    |  
  |   |    |- entryability 
  |   |    |     EntryAbility.ets                  // 应用窗口初始化
  |   |    |  
  |   |    |- pages 
  |   |    |     |- car
  |   |    |          CarView.ets                  // 车辆展示页面   
  |   |    |     |- home
  |   |    |          HomeView.ets                 // 车辆展示页面    
  |   |    |     |- mine
  |   |    |          MineView.ets                 // 我的页面
  |   |    |  
  |   |    └- types 
  |   |          Types.ets                         // 列表服务接口 
  |   |                                         
  |- scenes                                         // 特性层
  |   |- cityselect/src/main/ets                   // 城市选择模块
  |   |    |- components                           
  |   |    |    CitySelectView.ets                 // 城市选择页面 
  |   |    └- model                               
  |   |    |    CityData.ets                       // 城市数据信息
  |   |    |    
  |   |- contact/src/main/ets                       
  |   |    |- components                            
  |   |    |    AddContact.ets                     // 添加联系人
  |   |    |    ContactCard.ets                    // 联系人卡片
  |   |    |    ContactPage.ets                    // 联系人页面
  |   |    └- mode                               
  |   |    |    ContactModel.ets                   // 联系人模型
  |   |    |    ContactVM.ets                      // 添加联系人逻辑
  |   |    |     
  |   |- couPon/src/main/ets                       // 优惠券模块
  |   |    |- components                            
  |   |    |    CouponCard.ets                     // 优惠券卡片 
  |   |    |    CouponDetail.ets                   // 优惠券细节
  |   |    |    CouponDialog.ets                   // 优惠券展示 
  |   |    |    MyCouponList.ets                   // 优惠券展示列表   
  |   |    └- mode                               
  |   |    |    CouponModel.ets                    // 优惠券模型
  |   |    |    CouponVM.ets                       // 优惠券处理逻辑   
  |   |    | 
  |   |- garage/src/main/ets                       // 优惠券模块
  |   |    |- components                           
  |   |    |    CarSelect.ets                      // 汽车选择
  |   |    |    CaragePage.ets                     // 仓库页面
  |   |    |    SettingCard.ets                    // 车辆设置 
  |   |    |- constants                           
  |   |    |    car.ets                            // 汽车品牌常量 
  |   |    └- mode                               
  |   |    |    VehicleModel.ets                   // 汽车模型
  |   |    |    VehicleVM.ets                      // 汽车逻辑处理   
  |   |        
  |   |- makeAppointment/src/main/ets              // 预约模块 
  |   |    |- components                 
  |   |    |    AppointmentCard.ets                // 预约展示卡片
  |   |    |    AppointmentTimePicker.ets          // 预约时间选择
  |   |    |    AppointmentView.ets                // 预约展示 
  |   |    |    AppointSuccess.ets                 // 预约成功 
  |   |    |    MyAppointment.ets                  // 我的预约 
  |   |    |    ReservedCard.ets                   // 预约卡片 
  |   |    |    ReservedCardList.ets               // 预约卡片列表   
  |   |    └- model                               
  |   |    |    AppointmentModel.ets               // 预约模型 
  |   |    |    AppointmentVM.ets                  // 预约逻辑  
  |   |     
  |   |- order/src/main/ets                        // 订单模块 
  |   |    |- components                 
  |   |    |    ConfirmOrder.ets                   // 确认订单
  |   |    |    OrderCard.ets                      // 订单卡片
  |   |    |    OrderCardList.ets                  // 订单列表
  |   |    |    PendingPayment.ets                 // 等待付款
  |   |    |    PendingPayOrder.ets                // 待付款订单
  |   |    |    ProductItem.ets                    // 产品信息
  |   |    └- model                               
  |   |    |    OrderVM.ets                        // 订单处理逻辑
  |   |    
  |   |- package/src/main/ets                      // 推荐套餐模块
  |   |    |- components                 
  |   |    |    PackageDetailView.ets              // 套餐详情 
  |   |    |    PackagesCardView.ets               // 套餐卡片
  |   |    |    PackageView.ets                    // 套餐列表
  |   |    └- model                               
  |   |    |    packageModel.ets.                  // 套餐类模型
  |   |    |    PackageVM.ets.ets                  // 套餐逻辑处理
  |   |        
  |   |- product/src/main/ets                     

更多关于HarmonyOS鸿蒙Next开发案例:汽车类行业官方模板介绍 (Part1:汽车保养应用模板)的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

HarmonyOS Next汽车保养应用模板

HarmonyOS Next汽车保养应用模板是基于ArkTS开发的行业解决方案模板。该模板包含保养预约、记录查询、服务推荐等核心功能模块,采用分布式技术实现多设备协同。UI设计遵循HarmonyOS设计规范,支持自适应布局。数据管理使用分布式数据管理能力,实现跨设备数据同步。模板已集成华为帐号、支付等基础服务能力,开发者可基于此快速构建汽车保养类应用。

更多关于HarmonyOS鸿蒙Next开发案例:汽车类行业官方模板介绍 (Part1:汽车保养应用模板)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


汽车保养应用模板

这个汽车保养应用模板展示了HarmonyOS Next在汽车服务领域的典型开发实践。模板采用分层架构设计,包含以下核心特点:

模块化架构

  • 产品定制层:实现底部导航和主界面
  • 基础特性层:拆分为独立功能模块(预约、订单、优惠券等)
  • 公共能力层:提供通用组件和工具(网络请求、定位、账号管理等)

关键技术集成

  • 已内置华为账号服务,支持快速登录
  • 集成地图服务,实现店铺定位功能
  • 提供车牌键盘等汽车行业专用组件

灵活部署方案

  • 支持整体工程集成(适合全新项目)
  • 支持按需组件集成(适合已有项目)

模板工程结构清晰,包含完整的汽车服务业务场景实现,开发者可以基于此快速构建自己的汽车服务应用。特别是分层设计和组件化实现,使得各功能模块可以独立使用或组合部署。

回到顶部