# 教育类行业实践 **Repository Path**: harmony-os-next/Education_Framework_Code_V1 ## Basic Information - **Project Name**: 教育类行业实践 - **Description**: 教育类行业实践 https://developer.huawei.com/consumer/cn/doc/architecture-guides/practice-educate-app-architecture-v1-0000001904563108 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-10-26 - **Last Updated**: 2025-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 简介 本设计为教育类HarmonyOS应用架构设计实践,提供教育类应用常见的图文学习、音视频学习、考试等功能。 - Stage开发模型+声明式UI开发方式。 - 应用设备形态只有手机端,规划一个Entry类型HAP包。 - APP大小可控,性能优先,无单独加载模块,模块全部采用HAR包。 ## 应用布局 > 说明 > > 实践应用框架代码运行图,开发者可以基于框架代码替换相关资源文件,以保证应用良好的使用体验。 首页采用各类APP常用的页面导航布局,底部通过[Tabs](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-navigation-tabs-V5)组件设置导航样式 。行业特色功能页面,如:课程展示、课程学习、学习进度跟踪、考试练习等。课程展示:根据不同的分类,通过列表、宫格的形式展示可学习的课程。课程学习:查看课程相关的内容,包含图文课程或音视频课程。考试练习:提供题目进行在线考试,包含考试时间等。 ![img](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtyPub/011/111/111/0000000000011111111.20240904102612.78340174570487940740566532255736:50001231000000:2800:F26749C0D7BF6F449EEB8604F7FBE591F938D431B3B4D8074F45DFA9CF8FA555.gif?needInitFileName=true?needInitFileName=true?needInitFileName=true?needInitFileName=true?needInitFileName=true) ## 应用架构设计 ### 模块划分 根据行业应用的功能,按照高内聚,低耦合的原则,常见应用功能以及职责划分模块如下,开发者在实际设计过程中,可以根据模块的复杂程度实际情况再进一步细分: | **模块名称** | **功能点** | | ------------ | ---------------------------------------------- | | 首页 | 入口页面,包含banner轮播图,培训入口、通知入口 | | 我的培训 | 培训列表,培训详情,课程学习,课程考试 | | 在线帮助 | 系统通知信息 | | 我的 | 账号注册登录、我的课程、我的考试等 | | 通用 | 资源,国际化,导航 | ### 软件视图设计 应用分层模块类型划分指导,参见[分层模块化实践](https://developer.huawei.com/consumer/cn/doc/architecture-guides/practice-common-app-layered-v1-0000001916033058)。 产品定制层:本实践只涉及手机端,设计为一个Hap,包含页面框架、导航、手机独有资源等。 基础特性层:“首页”、“培训”、“消息” 等功能模块设计为Har包,被上层产品定制层引用。 公共能力层:“应用路由”、“基础工具”、“DFX”等基础公共模块设计为Har包被上层业务组件引用,其中路由管理划分到公共组件。 **图1** 软件视图 ![点击放大](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtyPub/011/111/111/0000000000011111111.20240904102612.09729741847807610214136925846292:50001231000000:2800:479159A2B7B78A744E0D897D59306DA5A18D50B1AE67773CA76E8DE9DA0CE5B3.png?needInitFileName=true?needInitFileName=true?needInitFileName=true?needInitFileName=true?needInitFileName=true) ### 逻辑视图设计 根据本应用功能的模块以及依赖,分解对原生基础服务以及三方的依赖,逻辑视图如下: **图2** 逻辑视图 ![点击放大](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtyPub/011/111/111/0000000000011111111.20240904102612.97409163297565560481747429973849:50001231000000:2800:DD2DB457127FA225782CFC17D7107C4343DB7408A3F8690B85FA7AC7394C6AFA.png?needInitFileName=true?needInitFileName=true?needInitFileName=true?needInitFileName=true?needInitFileName=true) ## 目录结构 ```shell entry/src/main/ets/ |---entryability hap包 | |---EntryAbility.ets |---pages | |---Tab.ets tab页面 | |---LoginPage.ets 登录 | |---Register.ets 注册 features/home hsp包 |---pages | |---Index.ets 首页 | |---SecondPage.ets 二级页面 features/Train hsp包 |---pages | |---Index.ets 培训 | |---TrainDetailPage.ets 培训详情 features/online hsp包 |---pages | |---OnlieIndex.ets 消息 | |---OnlineDetailPage.ets 消息详情--web组件 features/mine hsp包 |---pages | |---MinePage.ets 我的 | |---MineSetPage.ets 设置页面 | |---MineCoursePage.ets 考试页面 ``` # 注意 运行时需设置引用所有HSP模块。点击Run > Edit Configurations,选择Deploy Multi Hap标签页,勾选Deploy Multi Hap Packages, 选择使用方模块(Entry)和所有HSP模块,点击OK。单击Run > Run “模块名称”(如Run “Entry”)或来启动应用/服务的编译构建。