Showing
1 changed file
with
21 additions
and
7 deletions
| @@ -4525,7 +4525,7 @@ | @@ -4525,7 +4525,7 @@ | ||
| 4525 | scheduleReportStreamReconnect(taskId); | 4525 | scheduleReportStreamReconnect(taskId); |
| 4526 | }; | 4526 | }; |
| 4527 | 4527 | ||
| 4528 | - const events = ['status', 'stage', 'chapter_status', 'chapter_chunk', 'warning', 'html_ready', 'completed', 'error', 'heartbeat']; | 4528 | + const events = ['status', 'stage', 'chapter_status', 'chapter_chunk', 'warning', 'error', 'debug', 'html_ready', 'completed', 'heartbeat']; |
| 4529 | events.forEach(evt => { | 4529 | events.forEach(evt => { |
| 4530 | reportEventSource.addEventListener(evt, (event) => dispatchReportStreamEvent(evt, event)); | 4530 | reportEventSource.addEventListener(evt, (event) => dispatchReportStreamEvent(evt, event)); |
| 4531 | }); | 4531 | }); |
| @@ -4630,7 +4630,10 @@ | @@ -4630,7 +4630,10 @@ | ||
| 4630 | } | 4630 | } |
| 4631 | break; | 4631 | break; |
| 4632 | case 'warning': | 4632 | case 'warning': |
| 4633 | - appendReportStreamLine(payload.message || '检测到可重试的网络波动', 'warn'); | 4633 | + appendReportStreamLine(payload.message || '检测到可重试的网络波动', 'warn', { badge: 'WARNING' }); |
| 4634 | + break; | ||
| 4635 | + case 'debug': | ||
| 4636 | + appendReportStreamLine(payload.message || 'Debug信息', 'info', { badge: 'DEBUG' }); | ||
| 4634 | break; | 4637 | break; |
| 4635 | case 'html_ready': | 4638 | case 'html_ready': |
| 4636 | appendReportStreamLine('HTML渲染完成,正在刷新预览...', 'success'); | 4639 | appendReportStreamLine('HTML渲染完成,正在刷新预览...', 'success'); |
| @@ -4664,18 +4667,29 @@ | @@ -4664,18 +4667,29 @@ | ||
| 4664 | setGenerateButtonState(false); | 4667 | setGenerateButtonState(false); |
| 4665 | break; | 4668 | break; |
| 4666 | case 'error': | 4669 | case 'error': |
| 4667 | - appendReportStreamLine(payload.message || '任务失败', 'error'); | 4670 | + appendReportStreamLine(payload.message || '任务失败', 'error', { badge: 'ERROR' }); |
| 4668 | safeCloseReportStream(); | 4671 | safeCloseReportStream(); |
| 4669 | updateReportStreamStatus('error'); | 4672 | updateReportStreamStatus('error'); |
| 4670 | reportTaskId = null; | 4673 | reportTaskId = null; |
| 4671 | setGenerateButtonState(false); | 4674 | setGenerateButtonState(false); |
| 4672 | break; | 4675 | break; |
| 4673 | case 'heartbeat': | 4676 | case 'heartbeat': |
| 4677 | + // 只有在非重连状态时才更新为connected并显示心跳消息 | ||
| 4678 | + // 避免在错误/重连期间显示误导性的"连接正常"消息 | ||
| 4679 | + const statusEl = document.getElementById('reportStreamStatus'); | ||
| 4680 | + const currentState = statusEl ? statusEl.dataset.state : null; | ||
| 4681 | + | ||
| 4682 | + // 如果当前处于重连或错误状态,忽略心跳消息 | ||
| 4683 | + if (currentState === 'reconnecting' || currentState === 'error') { | ||
| 4684 | + break; | ||
| 4685 | + } | ||
| 4686 | + | ||
| 4674 | updateReportStreamStatus('connected'); | 4687 | updateReportStreamStatus('connected'); |
| 4675 | - appendReportStreamLine(payload.message || '流式连接正常,请稍候...', 'info', { | ||
| 4676 | - badge: 'SSE', | ||
| 4677 | - genericMessage: '流式连接正常,请耐心等待...' | ||
| 4678 | - }); | 4688 | + // 心跳消息不显示在控制台,避免刷屏 |
| 4689 | + // appendReportStreamLine(payload.message || '流式连接正常,请稍候...', 'info', { | ||
| 4690 | + // badge: 'SSE', | ||
| 4691 | + // genericMessage: '流式连接正常,请耐心等待...' | ||
| 4692 | + // }); | ||
| 4679 | break; | 4693 | break; |
| 4680 | default: | 4694 | default: |
| 4681 | if (payload.message) { | 4695 | if (payload.message) { |
-
Please register or login to post a comment