From 8963a6039138f8093864cd6d0efcab52de1d3cf2 Mon Sep 17 00:00:00 2001 From: wangdongbo <949818794@qq.com> Date: Sun, 8 Feb 2026 13:53:22 +0800 Subject: [PATCH] no message --- pages/message/chat.scss | 19 ++ .../components/ai-assistant-buttons.vue | 13 +- pages/message/components/chat-input.vue | 10 +- pages/message/index.vue | 28 ++- utils/send-message-helper.js | 2 - utils/share-usage-example.md | 234 ------------------ 6 files changed, 59 insertions(+), 247 deletions(-) delete mode 100644 utils/share-usage-example.md diff --git a/pages/message/chat.scss b/pages/message/chat.scss index 8a15f48..1c7f0eb 100644 --- a/pages/message/chat.scss +++ b/pages/message/chat.scss @@ -418,6 +418,25 @@ $primary-color: #0877F1; background: #2456c7; } +.disabled-btn { + background: #ccc; + color: #fff; + font-size: 28rpx; + font-weight: 600; + border: none; + border-radius: 40rpx; + height: 56rpx; + min-width: 112rpx; + padding: 0 32rpx; + box-shadow: 0 2rpx 8rpx rgba(200, 200, 200, 0.08); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + white-space: nowrap; + cursor: not-allowed; +} + .input-area { flex: 1; margin: 0 8rpx; diff --git a/pages/message/components/ai-assistant-buttons.vue b/pages/message/components/ai-assistant-buttons.vue index 9c8f2a1..aa8900b 100644 --- a/pages/message/components/ai-assistant-buttons.vue +++ b/pages/message/components/ai-assistant-buttons.vue @@ -57,10 +57,12 @@ const props = defineProps({ default: "", }, }); -const emit = defineEmits(["streamText", "clearInput"]); +const emit = defineEmits(["streamText", "clearInput", "generatingStateChange"]); const typeSelectorRef = ref(null); const progressRef = ref(null); +const isGenerating = ref(false); + const buttons = ref([ { id: "followUp", @@ -183,6 +185,8 @@ const streamTextToInput = (text) => { // 先清空输入框 emit("clearInput"); + isGenerating.value = true; + emit("generatingStateChange", true); let currentIndex = 0; const speed = 50; // 每个字符的延迟时间(毫秒) @@ -196,6 +200,8 @@ const streamTextToInput = (text) => { currentIndex++; } else { clearInterval(streamInterval); + isGenerating.value = false; + emit("generatingStateChange", false); } }, speed); }, 100); @@ -363,6 +369,11 @@ const handleRegenerateMedicalCase = (data) => { const type = { id: data.caseType }; handleCaseTypeSelect(type); }; + +// 暴露生成状态给父组件 +defineExpose({ + isGenerating, +});