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

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


💡摘要: 本模板来自华为生态市场(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                  // 套餐逻辑处理
  |   |        
  |

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

2 回复

该模板专为汽车保养类应用设计,提供预约保养、车辆管理、服务记录等核心功能。基于HarmonyOS NEXT特性,支持跨设备协同与原子化服务,可实现手机与车机无缝流转。模板采用ArkTS开发,集成分布式数据管理能力,优化了性能与用户体验。

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


这个汽车保养应用模板展示了HarmonyOS Next在汽车服务领域的典型开发实践。采用Stage模型和声明式UI架构,通过分层模块化设计实现了高内聚低耦合的组件结构。模板已集成华为账号服务和地图能力,支持快速实现用户登录、店铺定位等核心功能。

工程结构清晰分为公共层、特性层和产品层,包含城市选择、车辆管理、预约服务等12个独立业务模块。开发者可根据需求选择整体集成或按需引用特定组件,通过替换Mock数据接口即可快速对接真实业务系统。

这种架构设计充分体现了HarmonyOS的组件化优势,特别适合需要快速迭代的汽车服务类应用开发。

回到顶部