feat(assets): 分页查询 + voice 默认素材库自动初始化
CI/CD Pipeline / Frontend Lint (push) Failing after 51h1m53s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 51h1m53s
CI/CD Pipeline / Production Browser E2E (push) Failing after 1709h37m3s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1709h37m5s
CI/CD Pipeline / Build Production Runtime Images (push) Failing after 1709h37m7s
CI/CD Pipeline / Deploy Staging (push) Failing after 1709h37m7s
CI/CD Pipeline / Deploy Production (push) Failing after 1710h8m32s
CI/CD Pipeline / Frontend Lint (push) Failing after 51h1m53s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 51h1m53s
CI/CD Pipeline / Production Browser E2E (push) Failing after 1709h37m3s
CI/CD Pipeline / Staging E2E Tests (push) Failing after 1709h37m5s
CI/CD Pipeline / Build Production Runtime Images (push) Failing after 1709h37m7s
CI/CD Pipeline / Deploy Staging (push) Failing after 1709h37m7s
CI/CD Pipeline / Deploy Production (push) Failing after 1710h8m32s
- GET /assets 增加 skip/limit 分页参数,响应包含 total/skip/limit - GET /asset-libraries 增加 kind 过滤参数 - 新增 POST /asset-libraries/ensure-default 自动创建默认素材库 - 前端上传配音音频走通用上传链路(无缺口) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -129,6 +129,35 @@ export const getAssets = async (libraryId: string): Promise<AssetItem[]> => {
|
||||
return response.data.items || [];
|
||||
};
|
||||
|
||||
/** 按类型获取素材(如 voice/video/image) */
|
||||
export const getAssetsByKind = async (kind: string): Promise<AssetItem[]> => {
|
||||
const response = await apiClient.get("/assets", {
|
||||
params: { kind },
|
||||
});
|
||||
return response.data.items || [];
|
||||
};
|
||||
|
||||
/** 创建素材(上传文件后调用,附带 metadata) */
|
||||
export const createAsset = async (data: {
|
||||
library_id: string;
|
||||
name: string;
|
||||
storage_key: string;
|
||||
mime_type: string;
|
||||
metadata?: Record<string, unknown>;
|
||||
}): Promise<AssetItem> => {
|
||||
const response = await apiClient.post("/assets", data);
|
||||
return response.data;
|
||||
};
|
||||
|
||||
/** 更新素材(名称、metadata 等) */
|
||||
export const updateAsset = async (
|
||||
assetId: string,
|
||||
data: { name?: string; metadata?: Record<string, unknown> },
|
||||
): Promise<AssetItem> => {
|
||||
const response = await apiClient.put(`/assets/${assetId}`, data);
|
||||
return response.data;
|
||||
};
|
||||
|
||||
/** 更新素材审核状态 */
|
||||
export const updateAssetReviewStatus = async (
|
||||
assetId: string,
|
||||
|
||||
Reference in New Issue
Block a user