Module: JPSClient::API::Material

Included in:
Client
Defined in:
lib/jpsclient/api/material.rb

Overview

Material 相关 API 素材库 v2 接口 (/api/v2/material),涵盖素材管理、素材配置管理、分区管理三组

Instance Method Summary collapse

Instance Method Details

#bind_material_config(params: {}) ⇒ Hash

绑定分类可用配置(维护分类可用的 flow/state/screen 列表)

Parameters:

  • params (Hash) (defaults to: {})

    MaterialCategoryScopeBindDto: categoryId*, scopeType*, scopeIds*

Returns:

  • (Hash)

    API响应

Raises:



166
167
168
169
170
171
172
173
# File 'lib/jpsclient/api/material.rb', line 166

def bind_material_config(params: {})
  config = @request_config && @request_config["material_config_bind"]
  raise JPSClient::ExceptionError, "Missing config for material_config_bind" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#copy_or_trans(params: {}) ⇒ Hash

复制或迁移素材内容(兼容旧 material/copy_or_trans 语义)

Parameters:

  • params (Hash) (defaults to: {})

    传 materialId 更新现有素材,不传则按条件定位或新建目标素材

Returns:

  • (Hash)

    API响应

Raises:



54
55
56
57
58
59
60
61
# File 'lib/jpsclient/api/material.rb', line 54

def copy_or_trans(params: {})
  config = @request_config && @request_config["material_copy_or_trans"]
  raise JPSClient::ExceptionError, "Missing config for material_copy_or_trans" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#copy_or_trans_v1(params: []) ⇒ Hash

移动或者复制素材(旧版)

Parameters:

  • params (Array) (defaults to: [])

    数组,每项含 sourceId, targetId, type, elementType, content 等(前端实际传数组体)

Returns:

  • (Hash)

    API响应

Raises:



277
278
279
280
281
282
283
284
# File 'lib/jpsclient/api/material.rb', line 277

def copy_or_trans_v1(params: [])
  config = @request_config && @request_config["material_v1_copy_or_trans"]
  raise JPSClient::ExceptionError, "Missing config for material_v1_copy_or_trans" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#create_by_zip(params: {}) ⇒ Hash

批量导入素材(兼容旧 material/zip 语义,按 zip 内目录名匹配分类)

Parameters:

  • params (Hash) (defaults to: {})

    MaterialCreateByZipDto: zipUrl*, applicationId*, platform*, flowId*, stateId*, screenId*

Returns:

  • (Hash)

    API响应

Raises:



67
68
69
70
71
72
73
74
# File 'lib/jpsclient/api/material.rb', line 67

def create_by_zip(params: {})
  config = @request_config && @request_config["material_batch_create"]
  raise JPSClient::ExceptionError, "Missing config for material_batch_create" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#create_by_zip_v1(params: {}) ⇒ Hash

批量新增素材,不支持创建素材版本(旧版)

Parameters:

  • params (Hash) (defaults to: {})

    ResourceCreateByZipDto: zipUrl*, sourceType*, sourceId*, platform*, resourceType

Returns:

  • (Hash)

    API响应

Raises:



290
291
292
293
294
295
296
297
# File 'lib/jpsclient/api/material.rb', line 290

def create_by_zip_v1(params: {})
  config = @request_config && @request_config["material_v1_zip"]
  raise JPSClient::ExceptionError, "Missing config for material_v1_zip" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#create_material(params: {}) ⇒ Hash

创建素材

Parameters:

  • params (Hash) (defaults to: {})

    MaterialCreateDto: name, description, priorityRule, sourceType, sourceId, tagIds, items, categoryId*, instanceId*, flowId*, stateId*, screenId*

Returns:

  • (Hash)

    API响应

Raises:



14
15
16
17
18
19
20
21
# File 'lib/jpsclient/api/material.rb', line 14

def create_material(params: {})
  config = @request_config && @request_config["material_create"]
  raise JPSClient::ExceptionError, "Missing config for material_create" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#create_material_config(params: {}) ⇒ Hash

创建素材配置(按 scopeType 创建 instance/flow/state/screen)

Parameters:

  • params (Hash) (defaults to: {})

    MaterialConfigCreateDto: scopeType*, name*, categoryId, lang, appVersion, device, identity, bizKey, description, flowType, note, groupName, weight

Returns:

  • (Hash)

    API响应

Raises:



126
127
128
129
130
131
132
133
# File 'lib/jpsclient/api/material.rb', line 126

def create_material_config(params: {})
  config = @request_config && @request_config["material_config_create"]
  raise JPSClient::ExceptionError, "Missing config for material_config_create" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#create_material_partition(params: {}) ⇒ Hash

创建素材分区(在指定素材下创建分区)

Parameters:

  • params (Hash) (defaults to: {})

    MaterialPartitionCreateDto: materialId*, name*, color, weight

Returns:

  • (Hash)

    API响应

Raises:



194
195
196
197
198
199
200
201
# File 'lib/jpsclient/api/material.rb', line 194

def create_material_partition(params: {})
  config = @request_config && @request_config["material_partition_create"]
  raise JPSClient::ExceptionError, "Missing config for material_partition_create" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#create_material_v1(params: {}) ⇒ Hash

新增素材(旧版)

Parameters:

  • params (Hash) (defaults to: {})

    ResourceCreateDto: elementType*, content, sourceType*, sourceId*, name, categoryId*, partition, version, status, publishTime

Returns:

  • (Hash)

    API响应

Raises:



237
238
239
240
241
242
243
244
# File 'lib/jpsclient/api/material.rb', line 237

def create_material_v1(params: {})
  config = @request_config && @request_config["material_v1_create"]
  raise JPSClient::ExceptionError, "Missing config for material_v1_create" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#delete_material(params: {}) ⇒ Hash

删除素材(软删除,同步软删其下 item、partition)

Parameters:

  • params (Hash) (defaults to: {})

    MaterialDeleteDto: id*

Returns:

  • (Hash)

    API响应

Raises:



41
42
43
44
45
46
47
48
# File 'lib/jpsclient/api/material.rb', line 41

def delete_material(params: {})
  config = @request_config && @request_config["material_delete"]
  raise JPSClient::ExceptionError, "Missing config for material_delete" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#delete_material_config(params: {}) ⇒ Hash

删除素材配置(软删除指定 scopeType + id)

Parameters:

  • params (Hash) (defaults to: {})

    MaterialConfigDeleteDto: scopeType*, id*

Returns:

  • (Hash)

    API响应

Raises:



153
154
155
156
157
158
159
160
# File 'lib/jpsclient/api/material.rb', line 153

def delete_material_config(params: {})
  config = @request_config && @request_config["material_config_delete"]
  raise JPSClient::ExceptionError, "Missing config for material_config_delete" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#delete_material_partition(params: {}) ⇒ Hash

删除素材分区(软删除,删除前把分区下未删 item 的 partitionId 置空)

Parameters:

  • params (Hash) (defaults to: {})

    MaterialPartitionDeleteDto: id*

Returns:

  • (Hash)

    API响应

Raises:



220
221
222
223
224
225
226
227
# File 'lib/jpsclient/api/material.rb', line 220

def delete_material_partition(params: {})
  config = @request_config && @request_config["material_partition_delete"]
  raise JPSClient::ExceptionError, "Missing config for material_partition_delete" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#delete_material_v1(params: {}) ⇒ Hash

删除素材(旧版)

Parameters:

  • params (Hash) (defaults to: {})

    BaseIdDtoInteger: id*

Returns:

  • (Hash)

    API响应

Raises:



264
265
266
267
268
269
270
271
# File 'lib/jpsclient/api/material.rb', line 264

def delete_material_v1(params: {})
  config = @request_config && @request_config["material_v1_delete"]
  raise JPSClient::ExceptionError, "Missing config for material_v1_delete" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#get_detail_by_category(params: {}) ⇒ Hash

分类素材详情(返回该分类下全部素材记录)

Parameters:

  • params (Hash) (defaults to: {})

    categoryId*, materialTagIds, itemTagIds, itemTitles, keywords

Returns:

  • (Hash)

    API响应

Raises:



110
111
112
113
114
115
116
117
# File 'lib/jpsclient/api/material.rb', line 110

def get_detail_by_category(params: {})
  config = @request_config && @request_config["material_detail_by_category"]
  raise JPSClient::ExceptionError, "Missing config for material_detail_by_category" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:get, path, params: params)
end

#get_list_by_source(params: {}) ⇒ Hash

应用详情素材列表(每个分类返回最新一条素材及其 items、分类下素材数量)

Parameters:

  • params (Hash) (defaults to: {})

    sourceId*, categoryId, categoryIds, platforms, unifiedAppIds, materialTagIds, itemTagIds, itemTitles, onlyCollected, keywords, createUserId, updateUserId, excludeCreateUserId, excludeUpdateUserId, pageNo, pageSize

Returns:

  • (Hash)

    API响应

Raises:



97
98
99
100
101
102
103
104
# File 'lib/jpsclient/api/material.rb', line 97

def get_list_by_source(params: {})
  config = @request_config && @request_config["material_list_by_source"]
  raise JPSClient::ExceptionError, "Missing config for material_list_by_source" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:get, path, params: params)
end

#get_list_by_source_v1(params: {}) ⇒ Hash

应用详情下发素材列表(旧版)

Parameters:

  • params (Hash) (defaults to: {})

    ResourceByTypeDto: sourceId*, resourceType 等

Returns:

  • (Hash)

    API响应

Raises:



317
318
319
320
321
322
323
324
# File 'lib/jpsclient/api/material.rb', line 317

def get_list_by_source_v1(params: {})
  config = @request_config && @request_config["material_v1_list_by_source"]
  raise JPSClient::ExceptionError, "Missing config for material_v1_list_by_source" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:get, path, params: params)
end

#get_material_config_options(params: {}) ⇒ Hash

查询分类可用配置(instances、flows、states、screens)

Parameters:

  • params (Hash) (defaults to: {})

    categoryId*, includeInherited

Returns:

  • (Hash)

    API响应

Raises:



179
180
181
182
183
184
185
186
# File 'lib/jpsclient/api/material.rb', line 179

def get_material_config_options(params: {})
  config = @request_config && @request_config["material_config_options"]
  raise JPSClient::ExceptionError, "Missing config for material_config_options" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:get, path, params: params)
end

#get_material_list(params: {}) ⇒ Hash

素材库素材列表

Parameters:

  • params (Hash) (defaults to: {})

    categoryIds, platforms, unifiedAppIds, materialTagIds, itemTagIds, itemTitles, onlyCollected, keywords, createUserId, updateUserId, excludeCreateUserId, excludeUpdateUserId, pageNo, pageSize

Returns:

  • (Hash)

    API响应

Raises:



82
83
84
85
86
87
88
89
# File 'lib/jpsclient/api/material.rb', line 82

def get_material_list(params: {})
  config = @request_config && @request_config["material_list"]
  raise JPSClient::ExceptionError, "Missing config for material_list" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:get, path, params: params)
end

#get_material_list_v1(params: {}) ⇒ Hash

素材库下发素材列表(旧版)

Parameters:

  • params (Hash) (defaults to: {})

    ResourceSearchDto: page, pageSize, elementType, categoryId, keyword, sourceType, sourceId 等

Returns:

  • (Hash)

    API响应

Raises:



304
305
306
307
308
309
310
311
# File 'lib/jpsclient/api/material.rb', line 304

def get_material_list_v1(params: {})
  config = @request_config && @request_config["material_v1_list"]
  raise JPSClient::ExceptionError, "Missing config for material_v1_list" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:get, path, params: params)
end

#get_medias_by_source(params: {}) ⇒ Hash

应用详情素材视频/图片信息(旧版,v2 无对应端点)

Parameters:

  • params (Hash) (defaults to: {})

    sourceId

Returns:

  • (Hash)

    API响应

Raises:



330
331
332
333
334
335
336
337
# File 'lib/jpsclient/api/material.rb', line 330

def get_medias_by_source(params: {})
  config = @request_config && @request_config["material_v1_medias_by_source"]
  raise JPSClient::ExceptionError, "Missing config for material_v1_medias_by_source" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:get, path, params: params)
end

#get_summary_by_source(params: {}) ⇒ Hash

应用详情素材相关统计信息(旧版,v2 无对应端点)

Parameters:

  • params (Hash) (defaults to: {})

    sourceId

Returns:

  • (Hash)

    API响应

Raises:



343
344
345
346
347
348
349
350
# File 'lib/jpsclient/api/material.rb', line 343

def get_summary_by_source(params: {})
  config = @request_config && @request_config["material_v1_summary_by_source"]
  raise JPSClient::ExceptionError, "Missing config for material_v1_summary_by_source" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:get, path, params: params)
end

#update_material(params: {}) ⇒ Hash

更新素材

Parameters:

  • params (Hash) (defaults to: {})

    MaterialUpdateDto: materialId*, name, description, priorityRule, sourceType, sourceId, tagIds, items(全量快照)

Returns:

  • (Hash)

    API响应

Raises:



28
29
30
31
32
33
34
35
# File 'lib/jpsclient/api/material.rb', line 28

def update_material(params: {})
  config = @request_config && @request_config["material_update"]
  raise JPSClient::ExceptionError, "Missing config for material_update" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#update_material_config(params: {}) ⇒ Hash

更新素材配置(按 scopeType + id 更新,仅非空字段参与更新)

Parameters:

  • params (Hash) (defaults to: {})

    MaterialConfigUpdateDto: scopeType*, id*, categoryId, name, lang, appVersion, device, identity, bizKey, description, flowType, note, groupName, weight

Returns:

  • (Hash)

    API响应

Raises:



140
141
142
143
144
145
146
147
# File 'lib/jpsclient/api/material.rb', line 140

def update_material_config(params: {})
  config = @request_config && @request_config["material_config_update"]
  raise JPSClient::ExceptionError, "Missing config for material_config_update" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#update_material_partition(params: {}) ⇒ Hash

更新素材分区(仅非空字段参与更新)

Parameters:

  • params (Hash) (defaults to: {})

    MaterialPartitionUpdateDto: id*, name, color, weight

Returns:

  • (Hash)

    API响应

Raises:



207
208
209
210
211
212
213
214
# File 'lib/jpsclient/api/material.rb', line 207

def update_material_partition(params: {})
  config = @request_config && @request_config["material_partition_update"]
  raise JPSClient::ExceptionError, "Missing config for material_partition_update" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end

#update_material_v1(params: {}) ⇒ Hash

更新素材(旧版)

Parameters:

  • params (Hash) (defaults to: {})

    ResourceUpdateDto: id*, content, name, categoryId, partition, version, status, publishTime, tagList, elementType

Returns:

  • (Hash)

    API响应

Raises:



251
252
253
254
255
256
257
258
# File 'lib/jpsclient/api/material.rb', line 251

def update_material_v1(params: {})
  config = @request_config && @request_config["material_v1_update"]
  raise JPSClient::ExceptionError, "Missing config for material_v1_update" unless config && config["url"]

  path = config["url"]

  return request_with_auth(:post, path, body: params)
end