Skip to content

公共数据结构

API Types

公共数据结构

这里整理素材、目录、搜索、创建素材和上传凭证等常用类型。服务端接口多使用下划线字段,manager 或组件层会把部分字段转换成驼峰字段。

快速索引

类型用途常见使用位置
AssetTypeEnum素材类型枚举素材选择、素材创建、搜索筛选
AssetManagementModel基础素材模型素材管理弹窗、素材列表、上传态
MediaAssetModel图片/视频素材模型AssetModal、素材管理、编辑器素材
MusicAssetModel音乐素材模型MusicModal、音乐列表
FolderModel素材目录模型目录树、素材管理弹窗
AssetListResponse服务端素材列表返回服务接口、manager 转换
IAssetSearch素材搜索请求参数搜索、筛选、AI 搜索
IAssetCreate创建素材请求参数上传完成后创建素材
StsTokenResponseOSS 上传凭证上传管理、OSS 上传

AssetTypeEnum

ts
export enum AssetTypeEnum {
  sticker = 6,
  caption = 11,
  image = 50,
  video = 51,
  music = 54,
  script = 55,
}
枚举说明
sticker6贴纸
caption11字幕
image50图片
video51视频
music54音乐
script55脚本

AssetManagementModel

ts
interface AssetManagementModel {
  id: string
  assetType: number | string
  assetId: string
  assetStyle: number
  assetVersion: number
  name: string
  url: string
  coverUrl: string
  attr: number
  status: number
  duration: number
  createTime: number
  updateTime: number
  folderId?: string
  showCheckbox?: boolean
  retry?: boolean
  uploading?: boolean
  editing?: boolean
  checked?: boolean
  progress?: number
  file?: File
}
字段类型说明
idstring业务记录 id。
assetIdstring素材 id。
assetTypenumber | string素材类型。
namestring素材名称。
urlstring素材地址。
coverUrlstring封面地址。
durationnumber时长,常用于音视频。
folderIdstring所属目录。
checkedboolean是否被选中。
uploadingboolean是否处于上传态。
progressnumber上传进度。
fileFile本地文件对象。

MediaAssetModel

ts
interface MediaAssetModel extends AssetManagementModel {
  width: number
  height: number
  ratio: number
  color?: string
  previewUrl: string
  downloadUrl: string
  size: number
}
字段类型说明
widthnumber媒体宽度。
heightnumber媒体高度。
rationumber宽高比。
previewUrlstring预览地址。
downloadUrlstring下载地址。
sizenumber文件大小。

MusicAssetModel

ts
interface MusicAssetModel extends AssetManagementModel {
  sample?: string
  volume?: number
  style?: string[]
  bpm?: number
  size?: number
}
字段类型说明
samplestring音频试听地址。
volumenumber音量。
stylestring[]音乐风格标签。
bpmnumberBPM。
sizenumber文件大小。

FolderModel

ts
interface FolderModel {
  id: string
  name: string
  parentId?: string
  count: number
  children?: FolderModel[]
  images: string[]
}
字段类型说明
idstring目录 id。
namestring目录名称。
parentIdstring父目录 id。
countnumber目录下素材数量。
childrenFolderModel[]子目录。
imagesstring[]目录预览图。

服务端素材列表返回

ts
interface AssetListResponse {
  list: {
    asset_id: string
    asset_style: number
    asset_type: number
    asset_version: number
    cover_url: string
    create_time: number
    dir_id: number
    duration: number
    height: number
    id: string
    name: string
    size: number
    status: number
    update_time: number
    url: string
    width: number
    tag: string[]
  }[]
  page: number
  page_size: number
  total: number
}

服务接口使用下划线字段,manager 层会转成驼峰字段。

字段类型说明
listArray<object>素材列表。
list[].asset_idstring素材 id。
list[].asset_typenumber素材类型。
list[].cover_urlstring封面地址。
list[].urlstring素材地址。
list[].dir_idnumber目录 id。
list[].durationnumber时长。
list[].widthnumber宽度。
list[].heightnumber高度。
list[].tagstring[]标签。
pagenumber当前页。
page_sizenumber每页数量。
totalnumber总数。

IAssetSearch

素材搜索请求参数:

ts
interface IAssetSearch {
  asset_cate: number
  asset_group?: string
  asset_type: number | number[]
  asset_style?: number
  dir_id?: string
  name?: string
  order_field?: string
  order_type?: number
  page: number
  page_size: number
  cid?: string[] | string
  industry_id?: string
  scale?: number[]
  replaceable_elements_number?: number
  searchType?: string
  searchRange?: string
  aiSearchCount?: number
  judgeAiSearch?: () => boolean
  tag_id_list?: string[]
}
字段类型必填说明
asset_catenumber素材分类。
asset_typenumber | number[]素材类型。
pagenumber页码。
page_sizenumber每页数量。
asset_groupstring素材分组。
asset_stylenumber素材样式。
dir_idstring目录 id。
namestring搜索关键词。
order_fieldstring排序字段。
order_typenumber排序方式。
cidstring[] | string分类 id。
industry_idstring行业 id。
scalenumber[]比例筛选。
searchTypestringAI 搜索类型。
searchRangestringAI 搜索范围。
tag_id_liststring[]标签 id 列表。

IAssetCreate

创建素材请求参数:

ts
interface IAssetCreate {
  asset_style: number
  asset_type: number
  dir_id?: number
  name: string
  status?: number
  url: string
  rotate?: number
  from: 1 | 2
  is_need_rotate?: boolean
}
字段类型必填说明
asset_stylenumber素材样式。
asset_typenumber素材类型。
namestring素材名称。
urlstring素材地址。
from1 | 2素材来源。
dir_idnumber目录 id。
statusnumber素材状态。
rotatenumber是否旋转/旋转标识。
is_need_rotateboolean是否需要旋转。

StsTokenResponse

OSS 上传凭证:

ts
interface StsTokenResponse {
  token: {
    access_key_id: string
    access_key_secret: string
    bucket: string
    domain: string
    duration: number
    expiration: string
    file_names: string[]
    path_prefix: string
    region: string
    security_token: string
    callback: {
      callback_body: string
      callback_url: string
      content_type: string
      custom_value: string[]
    }
  }
}
字段类型说明
token.access_key_idstringOSS access key id。
token.access_key_secretstringOSS access key secret。
token.security_tokenstring临时安全 token。
token.bucketstringOSS bucket。
token.domainstring访问域名。
token.expirationstringtoken 过期时间。
token.file_namesstring[]服务端分配的文件名。
token.path_prefixstring上传路径前缀。
token.regionstringOSS region。
token.callbackobjectOSS 回调配置。

MBJIA Tools 文档