task-129(记录与版本中心): 实现软件版本上传进度和错误

新增 version-upload-state.ts:上传 job 状态转换与失败消息兜底。

TDD: task-129.test.ts 8 用例 RED→GREEN。
This commit is contained in:
2026-09-05 17:36:24 +08:00
parent b60bf7bc13
commit 095a79de94
2 changed files with 85 additions and 0 deletions
@@ -0,0 +1,26 @@
/** 软件版本上传进度与错误(任务 129):上传 job 状态转换与失败消息兜底;纯逻辑。 */
export type VersionUploadStatus = 'idle' | 'running' | 'done' | 'failed'
export interface VersionUploadState {
status: VersionUploadStatus
progress: number
message?: string
}
export function createVersionUploadState(): VersionUploadState {
return { status: 'idle', progress: 0 }
}
export function startVersionUpload(_state: VersionUploadState): VersionUploadState {
return { status: 'running', progress: 0 }
}
export function succeedVersionUpload(_state: VersionUploadState): VersionUploadState {
return { status: 'done', progress: 100 }
}
export function failVersionUpload(_state: VersionUploadState, message: string): VersionUploadState {
const text = typeof message === 'string' ? message.trim() : ''
return { status: 'failed', progress: 0, message: text || '上传失败,请重试' }
}