task-135(记录与版本中心): 实现数字人版本发布操作

新增 digitalhuman-release.ts(可发布判定与确认) 与 releaseDigitalHumanVersion
(POST /{version}/release)。

TDD: task-135.test.ts 8 用例 RED→GREEN。
This commit is contained in:
2026-09-05 17:40:32 +08:00
parent 5708025baa
commit 883625a072
3 changed files with 72 additions and 0 deletions
@@ -19,3 +19,13 @@ export async function uploadDigitalHumanVersion(form: DigitalHumanUploadForm, fi
if (form.file) body.append('file', form.file as unknown as Blob, filename || (form.file.name || 'dh.zip'))
await http.post<unknown>(`${DIGITAL_HUMAN_VERSIONS_ENDPOINT}/upload`, body)
}
/** 发布数字人版本:POST /{version}/release。 */
export async function releaseDigitalHumanVersion(version: string): Promise<void> {
await http.post<unknown>(`${DIGITAL_HUMAN_VERSIONS_ENDPOINT}/${encodeURIComponent(version)}/release`)
}
/** 设为最新版本:POST /{version}/set-latest。 */
export async function setLatestDigitalHumanVersion(version: string): Promise<void> {
await http.post<unknown>(`${DIGITAL_HUMAN_VERSIONS_ENDPOINT}/${encodeURIComponent(version)}/set-latest`)
}
@@ -0,0 +1,13 @@
/** 数字人版本发布操作(任务 135):可发布判定与确认文案;纯逻辑。 */
import { normalizeDigitalHumanStatus } from './digitalhuman-dto.ts'
/** 仅草稿版本可发布。 */
export function canReleaseDigitalHumanVersion(status: unknown): boolean {
return normalizeDigitalHumanStatus(status) === 'DRAFT'
}
/** 发布确认文案;空版本返回 null。 */
export function releaseDigitalHumanConfirmText(version: string): string | null {
const v = (version || '').trim()
return v ? `确定发布数字人版本 ${v} 吗?` : null
}