8e2e1e1357
CI/CD Pipeline / Deploy Staging (push) Has been skipped
CI/CD Pipeline / Staging E2E Tests (push) Has been skipped
CI/CD Pipeline / Build Production Runtime Images (push) Has been skipped
CI/CD Pipeline / Deploy Production (push) Has been skipped
CI/CD Pipeline / Production Browser E2E (push) Has been skipped
CI/CD Pipeline / Frontend Lint (push) Failing after 48h32m19s
CI/CD Pipeline / Validate Code Quality And Tests (push) Failing after 48h32m19s
- api/tags.ts: 桩实现替换为真实 API(getTags/createTag/deleteTag/tagAsset/untagAsset) - api/assets.ts: AssetItem 新增 tag_ids 字段,getAssetsByKind 支持 tag_ids 筛选 - VoiceMaterialLibrary.tsx: - 移除硬编码 STYLE_TAGS,全面使用 API 返回的标签列表 - VoiceMaterial 接口 tags: string[] → tagIds: string[] - mapAssetToMaterial 读取 asset.tag_ids 替代 metadata.style - TagSelector 组件改为 ID 模式(tagId 操作 + tagMap 名称解析) - MaterialForm 接收 tags/tagMap/onCreateTag props - VoiceMaterialCard/VoiceMaterialRow 接收 tagMap prop 渲染标签名 - 标签筛选栏使用 API tags + filterTagId 状态 - 批量打标签改用 tagAsset API + handleBatchCustomTag 自定义标签 - 上传/编辑流程调用 tagAsset/untagAsset 管理标签关联 - filtered/tagCountMap 全部基于 tagIds 计算