健康宣教功能设计

日期:2026-07-15
项目:MultipurposeMachine
状态:已实施并完成设备验证

目标与范围

将首页右下角“新增人员”替换为“健康宣教”。功能使用服务端分类树和文章详情数据,提供分类浏览、文章卡片浏览与原生详情页阅读。

不改动首页其余三个功能入口,不跳转外部网页,也不接入文章发布、收藏、搜索或离线缓存。

设备与视觉基线

页面与交互

首页入口

文章浏览页

  1. 顶部一级 Tab 从接口 data 根节点动态生成,严格保持接口返回顺序;当前示例为“合理膳食、专项营养、疲劳恢复、体重管理”。
  2. 第二行显示当前一级分类的直接子分类,首项固定为“全部”。
  3. “全部”递归汇总当前一级分类下全部文章;二级分类递归汇总该分支文章。
  4. 内容区为两列 RecyclerView 卡片:封面取 img,分类角标取 article_cate_name,显示 titlesummary
  5. 图片失败或为空时显示本地占位图;空列表与失败状态分别显示“暂无健康宣教内容”和“点击重试”。

文章详情页

接口契约

分类与文章列表

文章详情

组件与数据边界

MainActivity
  -> HealthEducationActivity
      -> ArticleTreeFlattener
      -> ArticleAdapter
      -> HealthEducationDetailActivity

CPTNetworkRequest
  -> NetworkService
      -> CPTService
          -> /p/api/articleLists 与 /p/article/info
职责:ArticleTreeFlattener 递归提取并按文章 uuid 去重;ArticleAdapter 只渲染卡片;详情页只依赖文章 uuid

验收与验证

  1. 首页只替换右下入口,其他入口行为不变。
  2. 一级 Tab 顺序与接口根节点一致,二级 Tab 随一级分类同步。
  3. “全部”和二级分类都展示正确且无重复的递归文章集合。
  4. 卡片字段映射正确,无封面可显示占位图。
  5. 详情页可显示含图片正文;断网、空列表、详情失败均有明确反馈。
  6. 在当前设备完成首页、分类、列表、详情、返回状态人工验证,并执行 JDK 8 Gradle 构建验证。