# 畜牧资源 — 接口说明 > 数据视图:`v_livestock_resource`(DDL 见 `sql/biz_v_livestock_resource.sql`)。 > 后端包:`com.ruoyi.web.modules.news`;接口:`BizAppLivestockResourceController`。 > 医疗资源类型编码与 `biz_medical_resource.resource_type`(资讯类别 `parentCode=004`、`categoryType=6`);科技资源与 `biz_tech_resource.resource_type`(`categoryType=7`)一致。 --- ## 1. 视图 `v_livestock_resource` 仅聚合 **`publish_status = 1`(已发布)** 记录,字段统一如下: | 视图列 | 说明 | | --- | --- | | `title` | 资源名称 | | `introduction` | 简介 | | `type` | 资源类型编码(`resource_type`) | | `cover_file_url` | 封面/主图访问 URL | | `content_file_url` | 视频/附件访问 URL(可为 `null`) | | `publish_time` | 发布时间 | ### 1.1 数据来源(UNION) | 来源表 | `type` | 说明 | | --- | --- | --- | | `biz_medical_resource` | `004002` | 专家团队 | | `biz_tech_resource` | `004006` | 技术成果 | | `biz_tech_resource` | `004008` | 视频课程 | | `biz_tech_resource` | `004007` | 共享仪器 | **说明**:视图不含 `id`;列表项无全局唯一主键,详情页若需跳转源业务,须按 `type` + 业务规则另行约定或扩展视图。 ### 1.2 移动端 Tab 与 `type` 畜牧资源页 4 个 Tab 与类型编码一一对应: | Tab | `type` | | --- | --- | | 专家团队 | `004002` | | 技术成果 | `004006` | | 共享仪器 | `004007` | | 视频课程 | `004008` | --- ## 2. 列表接口 ### 2.1 请求 | 项 | 值 | | --- | --- | | **Method** | `GET` | | **URI** | `/app/livestockResource/list` | | **鉴权** | 移动端登录态(与 `/app/*` 其它接口一致) | **Query 参数** | 参数 | 类型 | 必填 | 说明 | | --- | --- | --- | --- | | `type` | string | **是** | 资源类型编码,须为 **§1.2** 中四种之一 | | `title` | string | 否 | 标题关键字,对 `title` 列模糊匹配 | | `pageNum` | int | 否 | 页码,默认 **1**;小于 1 时按 1 处理 | | `pageSize` | int | 否 | 每页条数,默认 **10**;小于 1 时按 10 处理;**最大 50** | 示例: ```http GET /app/livestockResource/list?type=004006&pageNum=1&pageSize=10 GET /app/livestockResource/list?type=004008&title=养殖 ``` ### 2.2 响应 RuoYi 分页 `TableDataInfo`:`code`、`msg`、`rows`(当前页数据)、`total`(符合条件的总条数)。排序固定为 `publish_time` 降序。 **`rows[]` 单条字段(驼峰)** | 字段 | 类型 | 说明 | | --- | --- | --- | | `title` | string | 标题 | | `introduction` | string | 简介 | | `type` | string | 资源类型编码 | | `coverFileUrl` | string | 封面 URL,可空 | | `contentFileUrl` | string | 视频/附件 URL,可空 | | `publishTime` | string | 发布日期,`yyyy-MM-dd` | **示例** ```json { "code": 200, "msg": "查询成功", "total": 1, "rows": [ { "title": "高原牦牛繁育技术成果", "introduction": "成果简介示例", "type": "004006", "coverFileUrl": "/profile/upload/cover.png", "contentFileUrl": "/profile/upload/demo.mp4", "publishTime": "2026-05-10" } ] } ``` ### 2.3 业务校验 | 场景 | 结果 | | --- | --- | | `type` 为空 | 「资源类型不能为空」 | | `type` 非视图涵盖的四种编码 | 「资源类型无效,请选择畜牧资源支持的类型」 | 校验实现:`LivestockResourceTypeValidator`(`LivestockResourceRules`:`004002`、`004006`、`004007`、`004008`)。 --- ## 3. 前端(小程序)对接要点 | 能力 | 说明 | | --- | --- | | 列表缩略图 | `coverFileUrl` | | 视频/附件 | `contentFileUrl`(为空则不展示;专家团队 `004002` 视图侧 `content_file_url` 为 `null`) | | 分类筛选 | 请求参数 `type` = Tab 对应编码 | | 分类名称展示 | 医疗:`GET /category/informationCategory/children?parentCode=004&categoryType=6`(`004001`~`004004`);科技:`categoryType=7`(`004005`~`004008`)取 `name` | | 分页 / 上拉加载 | 首屏 `pageNum=1`;加载更多时 `pageNum++`,当 `rows.length < pageSize` 或已加载条数 ≥ `total` 时无更多数据 | 页面参考:`ruoyi-ui-app/package-a/livestock-resources/index.vue`(列表数据源待接本接口)。 --- ## 4. 修订记录 | 日期 | 说明 | | --- | --- | | 2026-05-20 | 初版:`GET /app/livestockResource/list`;视图 `v_livestock_resource` 与四类 Tab |