hl-api-changelog/2026-03/17_0958/hl-material-service.md
2026-03-17 09:58:52 +08:00

37 KiB

素材服务 API 文档

服务: hl-material-service 接口总数: 28

目录

  • 小程序-素材 (1 个接口)
  • 素材分类权限管理 (2 个接口)
  • 素材标签管理 (6 个接口)
  • 素材管理 (19 个接口)

小程序-素材

GET /mp/material/miniprogram

获取小程序分类下的全部素材

返回miniprogram分类下的所有素材,用于小程序端展示公共素材资源如引导页图片、默认头像等

响应 统一响应结果«List«素材信息»»

字段 类型 必填 说明
code int 状态码
data 素材信息[] 响应数据
  categoryCode string 分类编码
  categoryName string 分类名称
  categoryPath string 完整分类路径(如:攻略管理 / 999 / 888
  createdAt string 创建时间
  createdBy string 创建人ID
  createdByName string 创建人姓名
  description string 素材描述
  fileId string 文件ID
  fileName string 文件名
  fileSize long 文件大小(字节)
  fileType string 文件类型
  imageHeight int 图片高度
  imageWidth int 图片宽度
  materialId string 素材ID
  materialName string 素材名称
  ossUrl string OSS地址
  refCount int 引用次数
  subCategoryId string 子分类ID
  subCategoryName string 子分类名称
  tags 素材标签信息[] 标签列表
    createdAt string 创建时间
    createdByName string 创建人姓名
    managed boolean 是否系统管理标签
    tagColor string 标签颜色
    tagId string 标签ID
    tagName string 标签名称
    useCount int 使用次数
  thumbnailUrl string 缩略图地址
message string 响应消息

素材分类权限管理

GET /admin/material/category/permissions/{roleCode}

获取角色的分类权限

仅超级管理员可操作。返回指定角色可访问的素材分类编码列表

路径参数

参数 类型 必填 说明
roleCode string 角色编码

响应 统一响应结果«List«string»»

字段 类型 必填 说明
code int 状态码
data string[] 响应数据
message string 响应消息

PUT /admin/material/category/permissions/{roleCode}

更新角色的分类权限

仅超级管理员可操作。全量替换指定角色的素材分类访问权限,传入允许访问的分类编码列表

路径参数

参数 类型 必填 说明
roleCode string 角色编码

请求体 分类权限更新请求

字段 类型 必填 说明
categoryCodes string[] 分类编码列表

响应 统一响应结果«Void»


素材标签管理

POST /admin/material/tag

创建管理标签

创建系统级素材标签,标签名称不可重复。创建后可用于素材分类和筛选。

权限:需管理员登录。

请求体 创建标签请求

字段 类型 必填 说明
tagColor string 标签颜色
tagName string 标签名称

响应 统一响应结果«素材标签信息»

字段 类型 必填 说明
code int 状态码
data 素材标签信息 响应数据
  createdAt string 创建时间
  createdByName string 创建人姓名
  managed boolean 是否系统管理标签
  tagColor string 标签颜色
  tagId string 标签ID
  tagName string 标签名称
  useCount int 使用次数
message string 响应消息

POST /admin/material/tag/adhoc

解析自定义标签(按名称查找或创建)

按标签名称查找已有标签,不存在则自动创建为用户自定义标签。用于素材上传时输入自由标签文本的场景。

权限:需管理员登录。

请求体 创建标签请求

字段 类型 必填 说明
tagColor string 标签颜色
tagName string 标签名称

响应 统一响应结果«素材标签信息»

字段 类型 必填 说明
code int 状态码
data 素材标签信息 响应数据
  createdAt string 创建时间
  createdByName string 创建人姓名
  managed boolean 是否系统管理标签
  tagColor string 标签颜色
  tagId string 标签ID
  tagName string 标签名称
  useCount int 使用次数
message string 响应消息

PUT /admin/material/tag/{tagId}

编辑标签

更新标签名称。标签名称不可与其他已有标签重复。

权限:需管理员登录。

路径参数

参数 类型 必填 说明
tagId integer 标签ID

请求体 更新标签请求

字段 类型 必填 说明
tagColor string 标签颜色
tagName string 标签名称

响应 统一响应结果«素材标签信息»

字段 类型 必填 说明
code int 状态码
data 素材标签信息 响应数据
  createdAt string 创建时间
  createdByName string 创建人姓名
  managed boolean 是否系统管理标签
  tagColor string 标签颜色
  tagId string 标签ID
  tagName string 标签名称
  useCount int 使用次数
message string 响应消息

DELETE /admin/material/tag/{tagId}

删除标签

删除标签并自动解除与所有素材的关联关系。

权限:需管理员登录。

路径参数

参数 类型 必填 说明
tagId integer 标签ID

响应 统一响应结果«Void»


GET /admin/material/tags

获取管理标签(标签管理用)

返回管理员创建的系统标签列表不含用户自定义标签,用于标签管理页的CRUD操作。

响应 统一响应结果«List«素材标签信息»»

字段 类型 必填 说明
code int 状态码
data 素材标签信息[] 响应数据
  createdAt string 创建时间
  createdByName string 创建人姓名
  managed boolean 是否系统管理标签
  tagColor string 标签颜色
  tagId string 标签ID
  tagName string 标签名称
  useCount int 使用次数
message string 响应消息

GET /admin/material/tags/all

获取全部标签(选择器用,含自定义标签)

返回所有标签(含系统标签和用户自定义标签),用于素材上传/编辑时的标签选择器。

响应 统一响应结果«List«素材标签信息»»

字段 类型 必填 说明
code int 状态码
data 素材标签信息[] 响应数据
  createdAt string 创建时间
  createdByName string 创建人姓名
  managed boolean 是否系统管理标签
  tagColor string 标签颜色
  tagId string 标签ID
  tagName string 标签名称
  useCount int 使用次数
message string 响应消息

素材管理

DELETE /admin/material/batch

批量删除素材

批量删除素材,返回删除结果(成功数/失败数/失败原因)。有引用关系的素材会跳过并记录失败原因

请求体 批量删除素材请求

字段 类型 必填 说明
materialIds string[] 素材ID列表

响应 统一响应结果«批量删除结果»

字段 类型 必填 说明
code int 状态码
data 批量删除结果 响应数据
  failedItems 删除失败项[] 失败项列表
    materialId string 素材ID
    reason string 失败原因
  successCount int 成功删除数量
message string 响应消息

PUT /admin/material/batch/tags

批量更新标签

对多个素材同时添加和/或移除标签,支持增量操作addTagIds新增,removeTagIds移除

请求体 批量标签操作请求

字段 类型 必填 说明
addTagIds string[] 要添加的标签ID列表
materialIds string[] 素材ID列表
removeTagIds string[] 要移除的标签ID列表

响应 统一响应结果«Void»


GET /admin/material/categories

获取有权限的分类列表(含素材数量)

返回当前角色有权限查看的素材分类树,每个分类包含素材数量统计。超级管理员可见全部分类

响应 统一响应结果«List«素材分类信息»»

字段 类型 必填 说明
code int 状态码
data 素材分类信息[] 响应数据
  categoryCode string 分类编码
  categoryName string 分类名称
  children 素材分类信息[] 子分类列表
    categoryCode string 分类编码
    categoryName string 分类名称
    children 素材分类信息[] 子分类列表
    materialCount int 素材数量
    parentId string 父子分类ID
    subCategoryId string 子分类ID
  materialCount int 素材数量
  parentId string 父子分类ID
  subCategoryId string 子分类ID
message string 响应消息

POST /admin/material/category/sub

创建子分类

在一级分类下创建子分类,分类编码自动生成。子分类用于更细粒度的素材归档

请求体 Create subcategory request

字段 类型 必填 说明
categoryName string 子分类名称
parentCode string 根分类编码(scenic/hotel等)
parentId long 父子分类ID(为空则创建在根分类下)
sortOrder int 排序值

响应 统一响应结果«素材分类信息»

字段 类型 必填 说明
code int 状态码
data 素材分类信息 响应数据
  categoryCode string 分类编码
  categoryName string 分类名称
  children 素材分类信息[] 子分类列表
    categoryCode string 分类编码
    categoryName string 分类名称
    children 素材分类信息[] 子分类列表
    materialCount int 素材数量
    parentId string 父子分类ID
    subCategoryId string 子分类ID
  materialCount int 素材数量
  parentId string 父子分类ID
  subCategoryId string 子分类ID
message string 响应消息

PUT /admin/material/category/sub/{categoryId}

更新子分类

更新子分类的名称或排序值。仅有该分类权限的管理员可操作。

路径参数

参数 类型 必填 说明
categoryId integer 子分类ID

请求体 Update subcategory request

字段 类型 必填 说明
categoryName string Subcategory name
sortOrder int Sort order

响应 统一响应结果«素材分类信息»

字段 类型 必填 说明
code int 状态码
data 素材分类信息 响应数据
  categoryCode string 分类编码
  categoryName string 分类名称
  children 素材分类信息[] 子分类列表
    categoryCode string 分类编码
    categoryName string 分类名称
    children 素材分类信息[] 子分类列表
    materialCount int 素材数量
    parentId string 父子分类ID
    subCategoryId string 子分类ID
  materialCount int 素材数量
  parentId string 父子分类ID
  subCategoryId string 子分类ID
message string 响应消息

DELETE /admin/material/category/sub/{categoryId}

删除子分类

删除子分类前需确保分类下无素材,否则删除失败

路径参数

参数 类型 必填 说明
categoryId integer 子分类ID

响应 统一响应结果«Void»


GET /admin/material/list

素材列表

分页查询素材,支持按分类、标签、文件类型、关键词筛选。返回结果受角色分类权限限制

关联字典

  • file_type文件类型列表筛选+显示)

查询参数

参数 类型 必填 说明 示例
categoryCode string 分类编码 scenic
createdBy integer(int64) 创建人ID 1001
endDate string 结束日期 2026-12-31
fileType string 文件类型 image
keyword string 搜索关键词 风景
orderBy string 排序字段 createdAt
orderDir string 排序方向: asc/desc desc
page integer(int32) 页码 1
pageSize integer(int32) 每页条数 20
startDate string 开始日期 2026-01-01
subCategoryId integer(int64) 子分类ID 2030000000000001
tagIds string 标签ID列表(逗号分隔) 1,2,3

响应 统一响应结果«分页结果«素材信息»»

字段 类型 必填 说明
code int 状态码
data 分页结果«素材信息» 响应数据
  page int 当前页码
  pageSize int 每页条数
  records 素材信息[] 数据列表
    categoryCode string 分类编码
    categoryName string 分类名称
    categoryPath string 完整分类路径(如:攻略管理 / 999 / 888
    createdAt string 创建时间
    createdBy string 创建人ID
    createdByName string 创建人姓名
    description string 素材描述
    fileId string 文件ID
    fileName string 文件名
    fileSize long 文件大小(字节)
    fileType string 文件类型
    imageHeight int 图片高度
    imageWidth int 图片宽度
    materialId string 素材ID
    materialName string 素材名称
    ossUrl string OSS地址
    refCount int 引用次数
    subCategoryId string 子分类ID
    subCategoryName string 子分类名称
    tags 素材标签信息[] 标签列表
    thumbnailUrl string 缩略图地址
  total int 总记录数
message string 响应消息

POST /admin/material/upload/chunk

分片上传-上传分片

大文件上传第二步逐个上传分片数据,分片索引从0开始。支持断点续传,已上传的分片无需重传。

查询参数

参数 类型 必填 说明 示例
chunkIndex integer(int32) 分片索引从0开始
uploadId string 上传ID

响应 统一响应结果«分片上传结果»

字段 类型 必填 说明
code int 状态码
data 分片上传结果 响应数据
  etag string 分片ETag
message string 响应消息

POST /admin/material/upload/chunk/cancel

分片上传-取消

取消分片上传任务,清理已上传的分片数据和OSS临时文件。仅上传发起者可取消。

请求体 分片上传取消请求

字段 类型 必填 说明
uploadId string 上传ID

响应 统一响应结果«Void»


POST /admin/material/upload/chunk/complete

分片上传-完成合并

大文件上传第三步所有分片上传完成后调用,OSS端合并分片为完整文件并创建素材记录。

请求体 分片上传完成请求

字段 类型 必填 说明
uploadId string 上传ID

响应 统一响应结果«素材信息»

字段 类型 必填 说明
code int 状态码
data 素材信息 响应数据
  categoryCode string 分类编码
  categoryName string 分类名称
  categoryPath string 完整分类路径(如:攻略管理 / 999 / 888
  createdAt string 创建时间
  createdBy string 创建人ID
  createdByName string 创建人姓名
  description string 素材描述
  fileId string 文件ID
  fileName string 文件名
  fileSize long 文件大小(字节)
  fileType string 文件类型
  imageHeight int 图片高度
  imageWidth int 图片宽度
  materialId string 素材ID
  materialName string 素材名称
  ossUrl string OSS地址
  refCount int 引用次数
  subCategoryId string 子分类ID
  subCategoryName string 子分类名称
  tags 素材标签信息[] 标签列表
    createdAt string 创建时间
    createdByName string 创建人姓名
    managed boolean 是否系统管理标签
    tagColor string 标签颜色
    tagId string 标签ID
    tagName string 标签名称
    useCount int 使用次数
  thumbnailUrl string 缩略图地址
message string 响应消息

POST /admin/material/upload/chunk/init

分片上传-初始化

大文件上传第一步初始化分片上传任务,返回uploadId和每个分片的预签名URL。前端按分片并发上传后调用完成合并接口。

权限:需管理员登录,受角色分类权限限制。

请求体 分片上传初始化请求

字段 类型 必填 说明
contentType string 文件MIME类型
fileSize long 文件大小(字节)
filename string 文件名
materialId string 关联素材ID可选,用于更新已有素材

响应 统一响应结果«分片上传初始化结果»

字段 类型 必填 说明
code int 状态码
data 分片上传初始化结果 响应数据
  chunkSize int 推荐分片大小(字节)
  uploadId string 上传ID
message string 响应消息

POST /admin/material/upload/confirm

确认上传完成

上传素材第二步前端直传OSS完成后调用此接口创建素材记录,支持MD5去重

关联字典

  • material_tag素材标签上传时可选标签

请求体 素材上传确认请求

字段 类型 必填 说明
description string 素材描述
materialId string 素材ID
tagIds string[] 标签ID列表

响应 统一响应结果«素材信息»

字段 类型 必填 说明
code int 状态码
data 素材信息 响应数据
  categoryCode string 分类编码
  categoryName string 分类名称
  categoryPath string 完整分类路径(如:攻略管理 / 999 / 888
  createdAt string 创建时间
  createdBy string 创建人ID
  createdByName string 创建人姓名
  description string 素材描述
  fileId string 文件ID
  fileName string 文件名
  fileSize long 文件大小(字节)
  fileType string 文件类型
  imageHeight int 图片高度
  imageWidth int 图片宽度
  materialId string 素材ID
  materialName string 素材名称
  ossUrl string OSS地址
  refCount int 引用次数
  subCategoryId string 子分类ID
  subCategoryName string 子分类名称
  tags 素材标签信息[] 标签列表
    createdAt string 创建时间
    createdByName string 创建人姓名
    managed boolean 是否系统管理标签
    tagColor string 标签颜色
    tagId string 标签ID
    tagName string 标签名称
    useCount int 使用次数
  thumbnailUrl string 缩略图地址
message string 响应消息

POST /admin/material/upload/folder

文件夹上传初始化(创建分类+批量获取凭证)

支持整个文件夹上传:自动根据文件夹名创建子分类,为每个文件批量获取上传凭证,前端逐一上传后批量确认

请求体 文件夹上传初始化请求

字段 类型 必填 说明
categoryCode string 分类编码
files 文件夹上传文件项[] 文件列表
  contentType string 文件MIME类型
  fileSize long 文件大小(字节)
  filename string 文件名
  folderPath string 文件所在文件夹路径与folderPaths中的路径对应
  materialName string 素材名称
  md5 string 文件MD5
folderPaths string[] 文件夹路径列表(如 ["999", "999/888"]

响应 统一响应结果«文件夹上传初始化结果»

字段 类型 必填 说明
code int 状态码
data 文件夹上传初始化结果 响应数据
  fileTokens 文件上传凭证项[] 各文件的上传凭证列表
    bucket string OSS Bucket名称
    error string 错误信息(该文件获取凭证失败时)
    filename string 文件名
    folderPath string 文件夹路径
    instantUpload boolean 是否秒传(文件已存在)
    materialId string 素材ID
    ossKey string OSS对象Key
    region string OSS Region
    stsToken STS临时凭证信息 STS临时凭证
    uploadHeaders object 上传请求头
    uploadMethod string 上传方式: PUT/POST
    uploadUrl string 上传URL
  folderCategoryMap object 文件夹路径 → 子分类ID 映射
message string 响应消息

POST /admin/material/upload/token

获取上传凭证

上传素材第一步获取OSS预签名URL和凭证。前端使用凭证直传OSS后调用确认上传。支持基于角色的分类权限校验

请求体 素材上传令牌请求

字段 类型 必填 说明
categoryCode string 分类编码
contentType string 文件MIME类型
fileSize long 文件大小(字节)
filename string 文件名
materialName string 素材名称
md5 string 文件MD5
subCategoryId long 子分类ID文件夹上传时使用

响应 统一响应结果«素材上传令牌信息»

字段 类型 必填 说明
code int 状态码
data 素材上传令牌信息 响应数据
  bucket string OSS Bucket名称
  contentType string 上传时必须使用的Content-Type与预签名URL签名一致
  expireAt string 过期时间
  fileId string 文件ID
  instantUpload boolean 是否秒传
  material 素材信息 秒传时返回的素材信息
    categoryCode string 分类编码
    categoryName string 分类名称
    categoryPath string 完整分类路径(如:攻略管理 / 999 / 888
    createdAt string 创建时间
    createdBy string 创建人ID
    createdByName string 创建人姓名
    description string 素材描述
    fileId string 文件ID
    fileName string 文件名
    fileSize long 文件大小(字节)
    fileType string 文件类型
    imageHeight int 图片高度
    imageWidth int 图片宽度
    materialId string 素材ID
    materialName string 素材名称
    ossUrl string OSS地址
    refCount int 引用次数
    subCategoryId string 子分类ID
    subCategoryName string 子分类名称
    tags 素材标签信息[] 标签列表
    thumbnailUrl string 缩略图地址
  materialId string 素材ID
  ossKey string OSS对象Key
  region string OSS Region
  stsToken STS临时凭证信息 STS临时凭证
    accessKeyId string AccessKey ID
    accessKeySecret string AccessKey Secret
    expiration string 过期时间
    securityToken string 安全令牌
  uploadMode string 上传模式: PRESIGNED_URL/STS_MULTIPART
  uploadUrl string 上传URL
message string 响应消息

GET /admin/material/{materialId}

素材详情

返回素材完整信息,包含文件名、URL、分类、标签、文件大小、上传者等。受角色分类权限限制。

关联字典

  • file_type文件类型显示

路径参数

参数 类型 必填 说明
materialId integer 素材ID

响应 统一响应结果«素材信息»

字段 类型 必填 说明
code int 状态码
data 素材信息 响应数据
  categoryCode string 分类编码
  categoryName string 分类名称
  categoryPath string 完整分类路径(如:攻略管理 / 999 / 888
  createdAt string 创建时间
  createdBy string 创建人ID
  createdByName string 创建人姓名
  description string 素材描述
  fileId string 文件ID
  fileName string 文件名
  fileSize long 文件大小(字节)
  fileType string 文件类型
  imageHeight int 图片高度
  imageWidth int 图片宽度
  materialId string 素材ID
  materialName string 素材名称
  ossUrl string OSS地址
  refCount int 引用次数
  subCategoryId string 子分类ID
  subCategoryName string 子分类名称
  tags 素材标签信息[] 标签列表
    createdAt string 创建时间
    createdByName string 创建人姓名
    managed boolean 是否系统管理标签
    tagColor string 标签颜色
    tagId string 标签ID
    tagName string 标签名称
    useCount int 使用次数
  thumbnailUrl string 缩略图地址
message string 响应消息

PUT /admin/material/{materialId}

更新素材信息

关联字典

  • material_tag素材标签编辑时选择标签

路径参数

参数 类型 必填 说明
materialId integer 素材ID

请求体 更新素材请求

字段 类型 必填 说明
categoryCode string 分类编码
description string 素材描述
materialName string 素材名称
subCategoryId long 子分类ID0表示清除子分类

响应 统一响应结果«素材信息»

字段 类型 必填 说明
code int 状态码
data 素材信息 响应数据
  categoryCode string 分类编码
  categoryName string 分类名称
  categoryPath string 完整分类路径(如:攻略管理 / 999 / 888
  createdAt string 创建时间
  createdBy string 创建人ID
  createdByName string 创建人姓名
  description string 素材描述
  fileId string 文件ID
  fileName string 文件名
  fileSize long 文件大小(字节)
  fileType string 文件类型
  imageHeight int 图片高度
  imageWidth int 图片宽度
  materialId string 素材ID
  materialName string 素材名称
  ossUrl string OSS地址
  refCount int 引用次数
  subCategoryId string 子分类ID
  subCategoryName string 子分类名称
  tags 素材标签信息[] 标签列表
    createdAt string 创建时间
    createdByName string 创建人姓名
    managed boolean 是否系统管理标签
    tagColor string 标签颜色
    tagId string 标签ID
    tagName string 标签名称
    useCount int 使用次数
  thumbnailUrl string 缩略图地址
message string 响应消息

DELETE /admin/material/{materialId}

删除素材

删除素材记录。如果素材存在引用关系(被景区、酒店等使用),则不允许删除

路径参数

参数 类型 必填 说明
materialId integer 素材ID

响应 统一响应结果«Void»


GET /admin/material/{materialId}/refs

查看素材引用记录

查看素材被哪些业务实体引用(如景区封面、酒店轮播图等),用于判断素材是否可安全删除

路径参数

参数 类型 必填 说明
materialId integer 素材ID

响应 统一响应结果«List«素材引用信息»»

字段 类型 必填 说明
code int 状态码
data 素材引用信息[] 响应数据
  bizId string 业务ID
  bizName string 业务名称
  bizType string 业务类型
  bizTypeName string 业务类型名称
  createdAt string 创建时间
  createdByName string 创建人姓名
  id string 引用ID
  materialId string 素材ID
  usageType string 用途类型
  usageTypeName string 用途类型名称
message string 响应消息

PUT /admin/material/{materialId}/tags

更新素材标签

全量替换单个素材的标签,传入新的标签ID列表

路径参数

参数 类型 必填 说明
materialId integer 素材ID

请求体 更新素材标签请求

字段 类型 必填 说明
tagIds string[] 标签ID列表

响应 统一响应结果«Void»