task-129(记录与版本中心): 实现软件版本上传进度和错误
新增 version-upload-state.ts:上传 job 状态转换与失败消息兜底。 TDD: task-129.test.ts 8 用例 RED→GREEN。
This commit is contained in:
@@ -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 || '上传失败,请重试' }
|
||||
}
|
||||
Reference in New Issue
Block a user