From 492beff4181cf12fa165f72c1c26a42b776d44fe Mon Sep 17 00:00:00 2001 From: aaron <> Date: Sun, 18 May 2025 11:07:13 +0800 Subject: [PATCH] update --- docker-compose.yml | 2 +- src/views/AStockAnalysisView.vue | 61 +++++++++++++++++++++++--------- 2 files changed, 45 insertions(+), 18 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b5d6c84..a9d0226 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,7 +5,7 @@ services: build: context: . dockerfile: Dockerfile - image: tradus-web:1.2.6 + image: tradus-web:1.2.7 container_name: tradus-web ports: - '6000:80' diff --git a/src/views/AStockAnalysisView.vue b/src/views/AStockAnalysisView.vue index 1a02d3f..6703241 100644 --- a/src/views/AStockAnalysisView.vue +++ b/src/views/AStockAnalysisView.vue @@ -29,13 +29,20 @@ const handleKeyup = (event: KeyboardEvent) => { } } +// 处理错误消息的显示 +const setErrorMessage = (message: string) => { + // 直接使用错误消息内容 + analysisContent.value = `错误: ${message}` + currentThought.value = '分析失败' +} + const handleAnalysis = async () => { const code = stockCode.value.trim() if (!code || isAnalyzing.value) return // 验证股票代码格式 if (!/^\d{6}$/.test(code)) { - analysisContent.value = '
' + setErrorMessage('请输入正确的6位股票代码') return } @@ -58,7 +65,18 @@ const handleAnalysis = async () => { }) if (!response.ok) { - throw new Error(`HTTP error! status: ${response.status}`) + // 解析错误响应 + try { + const errorData = await response.json() + if (errorData && errorData.detail) { + setErrorMessage(errorData.detail) + } else { + setErrorMessage(`请求失败,状态码: ${response.status}`) + } + } catch { + setErrorMessage(`请求失败,状态码: ${response.status}`) + } + return } const reader = response.body?.getReader() @@ -111,22 +129,19 @@ const handleAnalysis = async () => { case 'error': const errorMessage = data.error || '未知错误' - analysisContent.value = `` - currentThought.value = '分析过程出现错误' + setErrorMessage(errorMessage) await scrollToBottom() break } } catch (e) { console.error('解析响应数据出错:', e) - analysisContent.value = '' - currentThought.value = '数据解析出错' + setErrorMessage('解析响应数据时出错,请稍后重试') } } } } catch (error) { console.error('分析请求失败:', error) - analysisContent.value = '' - currentThought.value = '请求失败' + setErrorMessage('抱歉,分析请求失败,请稍后重试') } finally { isAnalyzing.value = false await scrollToBottom() @@ -276,7 +291,12 @@ const copyAnalysis = async () => { ref="analysisContainer" :class="{ 'fade-in': analysisContent }" > - + +