修复: AI 文档分析进度与错误状态混淆,全成功时不再误显红色错误框
This commit is contained in:
@@ -27,6 +27,7 @@ const loading = ref(false)
|
|||||||
const loaded = ref(false)
|
const loaded = ref(false)
|
||||||
const analyzing = ref(false) // AI 分析中
|
const analyzing = ref(false) // AI 分析中
|
||||||
const analyzeDone = ref(false) // AI 分析完成
|
const analyzeDone = ref(false) // AI 分析完成
|
||||||
|
const analyzeProgress = ref('') // AI 分析进度文案
|
||||||
const analyzeError = ref('') // AI 分析错误
|
const analyzeError = ref('') // AI 分析错误
|
||||||
const showImages = ref(true)
|
const showImages = ref(true)
|
||||||
const showDocs = ref(true)
|
const showDocs = ref(true)
|
||||||
@@ -81,6 +82,7 @@ async function handleFiles(fl: FileList | null) {
|
|||||||
loading.value = true
|
loading.value = true
|
||||||
loaded.value = false
|
loaded.value = false
|
||||||
analyzeDone.value = false
|
analyzeDone.value = false
|
||||||
|
analyzeProgress.value = ''
|
||||||
analyzeError.value = ''
|
analyzeError.value = ''
|
||||||
try {
|
try {
|
||||||
const scanned = await scanFiles(fl)
|
const scanned = await scanFiles(fl)
|
||||||
@@ -108,11 +110,12 @@ async function runAiAnalysis() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
analyzing.value = true
|
analyzing.value = true
|
||||||
|
analyzeProgress.value = ''
|
||||||
analyzeError.value = ''
|
analyzeError.value = ''
|
||||||
let successCount = 0
|
let successCount = 0
|
||||||
|
|
||||||
for (const doc of docs) {
|
for (const doc of docs) {
|
||||||
analyzeError.value = `正在 AI 分析(${successCount + 1}/${docs.length}):${doc.name}`
|
analyzeProgress.value = `正在 AI 分析(${successCount + 1}/${docs.length}):${doc.name}`
|
||||||
try {
|
try {
|
||||||
await aiAnalyzeDocument(doc)
|
await aiAnalyzeDocument(doc)
|
||||||
successCount++
|
successCount++
|
||||||
@@ -125,6 +128,7 @@ async function runAiAnalysis() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
analyzing.value = false
|
analyzing.value = false
|
||||||
|
analyzeProgress.value = ''
|
||||||
analyzeDone.value = successCount > 0
|
analyzeDone.value = successCount > 0
|
||||||
if (successCount > 0 && !analyzeError.value) {
|
if (successCount > 0 && !analyzeError.value) {
|
||||||
emit('toast', `AI 完成 ${successCount} 个文档分析,共生成 ${docs.reduce((s, d) => s + (d.slides?.length || 0), 0)} 页幻灯片`)
|
emit('toast', `AI 完成 ${successCount} 个文档分析,共生成 ${docs.reduce((s, d) => s + (d.slides?.length || 0), 0)} 页幻灯片`)
|
||||||
@@ -198,6 +202,7 @@ function clearFiles() {
|
|||||||
entries.value = []
|
entries.value = []
|
||||||
loaded.value = false
|
loaded.value = false
|
||||||
analyzeDone.value = false
|
analyzeDone.value = false
|
||||||
|
analyzeProgress.value = ''
|
||||||
analyzeError.value = ''
|
analyzeError.value = ''
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -268,7 +273,7 @@ function textPreview(data: string, maxLen = 80): string {
|
|||||||
|
|
||||||
<!-- AI 分析进度 -->
|
<!-- AI 分析进度 -->
|
||||||
<div v-if="analyzing" class="ai-progress">
|
<div v-if="analyzing" class="ai-progress">
|
||||||
<span class="spin">⟳</span> AI 正在分析文档内容,理解语义并生成幻灯片…
|
<span class="spin">⟳</span> {{ analyzeProgress || 'AI 正在分析文档内容,理解语义并生成幻灯片…' }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- AI 分析错误 -->
|
<!-- AI 分析错误 -->
|
||||||
|
|||||||
Reference in New Issue
Block a user