fix(提示语): 失败提示优先展示后端真实原因,修正 10+ 处误导文案
上架/删除品牌/去重/转换/拆分/撤回/查ASIN/产品风险/跟价/巡店/店铺匹配/视频工作台: - 解析失败不再只报通用文案,逐条展示后端文件级 errorMessage(上架新增「店铺未找到」专属弹窗) - 匹配失败不再一律「请检查店铺名」,按 matchStatus 区分 CONFLICT/PENDING - 去重/转换/拆分全失败弹窗优先列各文件真实原因,取不到才回退猜测文案 - dispatch-guard 新增 fileErrors 选项与 collectDistinctErrors 导出
This commit is contained in:
@@ -1015,12 +1015,12 @@ async function waitForImageVideoTask(ticket: ImageVideoAsyncTaskVo): Promise<unk
|
||||
}
|
||||
if (task.status === 'SUCCESS') return task.result
|
||||
if (isTerminalImageVideoTask(task)) {
|
||||
throw new Error(task.errorMessage || 'Coze task failed')
|
||||
throw new Error(task.errorMessage || 'Coze 任务执行失败')
|
||||
}
|
||||
await sleep(IMAGE_VIDEO_TASK_POLL_DELAY_MS)
|
||||
task = await getImageVideoAsyncTask(task.taskId)
|
||||
}
|
||||
throw new Error('Coze task polling timed out')
|
||||
throw new Error('Coze 任务查询超时,请稍后重试')
|
||||
}
|
||||
|
||||
async function rewriteScriptFromSource() {
|
||||
@@ -1296,7 +1296,8 @@ async function pollAssemblyResult(tab: WorkspaceTab, taskId: number) {
|
||||
if (isTerminalImageVideoTask(task)) {
|
||||
assembly.polling = false
|
||||
if (task.status === 'FAILED') {
|
||||
ElMessage.error('Coze 工作流执行失败')
|
||||
// 后端 errorMessage 带具体原因(内容违规/超时/额度等),只报「执行失败」用户无从下手
|
||||
ElMessage.error(task.errorMessage ? `Coze 工作流执行失败:${task.errorMessage}` : 'Coze 工作流执行失败')
|
||||
} else {
|
||||
ElMessage.success(videoUrl || assembly.videoUrl ? '视频生成完成' : 'Coze 工作流执行完成,未解析到视频地址')
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user