From 603944bff3fa6a0541235ed0ab39ef9ba986e648 Mon Sep 17 00:00:00 2001 From: hongjli <3117313295@qq.com> Date: 星期一, 07 四月 2025 16:38:01 +0800 Subject: [PATCH] 场景页面优化 --- src/app/ai-scene/page.tsx | 43 +++++++++++++++++++++++++++++++++---------- 1 files changed, 33 insertions(+), 10 deletions(-) diff --git a/src/app/ai-scene/page.tsx b/src/app/ai-scene/page.tsx index eded6af..c65dcbd 100644 --- a/src/app/ai-scene/page.tsx +++ b/src/app/ai-scene/page.tsx @@ -3,6 +3,7 @@ import { useState } from 'react'; import Card from '@/components/Card'; import ChatDialog from '@/components/ChatDialog'; +import SceneIntroDialog from '@/components/SceneIntroDialog'; import Navbar from '@/components/layout/Navbar'; const services = [ @@ -10,37 +11,51 @@ title: '琛ユ枡', description: '鏅鸿兘鍔ㄦ�佸垎鏋愪骇绾匡紝宸ヤ綅鐨勭己鏂欐儏鍐碉紝闄嶄綆鍋滅嚎椋庨櫓', imageUrl: '/images/kanban.jpg', - chatbotId: 'JELkWpPLHQfRNhEH' + chatbotId: 'JELkWpPLHQfRNhEH', + background: '鍦ㄧ敓浜х嚎杩愯杩囩▼涓紝鍙婃椂鍙戠幇骞惰В鍐崇己鏂欓棶棰樻槸淇濊瘉鐢熶骇鏁堢巼鐨勫叧閿�侫I绯荤粺閫氳繃瀹炴椂鐩戞帶鍜屽垎鏋愶紝甯姪鎮ㄦ彁鍓嶉璀﹀彲鑳界殑缂烘枡椋庨櫓锛屼紭鍖栬ˉ鏂欒鍒掋��', + instructions: '鎮ㄥ彲浠ユ弿杩板叿浣撶殑鐢熶骇绾挎儏鍐靛拰缂烘枡闂锛孉I鍔╂墜灏嗗熀浜庡巻鍙叉暟鎹拰瀹炴椂鐘舵�侊紝涓烘偍鎻愪緵鏈�浼樼殑琛ユ枡鏂规鍜屽缓璁��' }, { title: '鎻掑崟', description: '鏅鸿兘璇勪及闇�姹傛彃鍗曞浜ц兘锛屽師鏉愭枡鍜屼氦浠樻湇鍔$殑褰卞搷锛屾彁鍗囧鎴锋弧鎰忓害', imageUrl: '/images/xuqiu.jpg', - chatbotId: 'DfH4cIzujVGvn5iR' + chatbotId: 'DfH4cIzujVGvn5iR', + background: '鍦ㄧ敓浜ц鍒掓墽琛岃繃绋嬩腑锛屽父甯镐細閬囧埌绱ф�ヨ鍗曢渶瑕佹彃鍗曠殑鎯呭喌銆侫I绯荤粺鍙互蹇�熻瘎浼版彃鍗曞鐜版湁鐢熶骇璁″垝鐨勫奖鍝嶏紝骞舵彁渚涙渶浼樼殑鎻掑崟鏂规銆�', + instructions: '璇锋彁渚涢渶瑕佹彃鍗曠殑璁㈠崟淇℃伅锛屽寘鎷骇鍝佺被鍨嬨�佹暟閲忓拰鏈熸湜浜や粯鏃堕棿锛孉I鍔╂墜灏嗕负鎮ㄥ垎鏋愬彲琛屾�у苟缁欏嚭鍏蜂綋鐨勬彃鍗曞缓璁��' }, { title: '绉戞矁鏂攢鍞帹鑽愬皬鍔╂墜', description: '鏅鸿兘鍖栦骇鍝佹帹鑽愭彁鍗囧璐晥鐜�', imageUrl: '/images/robot.jpg', - chatbotId: 'sUAviPXvcEIw3oQC' + chatbotId: 'sUAviPXvcEIw3oQC', + background: '闈㈠涓嶅悓瀹㈡埛鐨勪釜鎬у寲闇�姹傦紝濡備綍鍑嗙‘鎺ㄨ崘鍚堥�傜殑浜у搧鏄彁鍗囬攢鍞晥鐜囩殑鍏抽敭銆侫I鍔╂墜鍩轰簬娣卞害瀛︿範绠楁硶锛岃兘澶熺簿鍑嗗垎鏋愬鎴烽渶姹傦紝鎻愪緵涓�у寲鐨勪骇鍝佹帹鑽愩��', + instructions: '鎮ㄥ彲浠ユ弿杩板鎴风殑鍏蜂綋闇�姹傚拰鍋忓ソ锛孉I鍔╂墜灏嗘牴鎹繖浜涗俊鎭紝涓烘偍鎺ㄨ崘鏈�閫傚悎鐨勭娌冩柉浜у搧锛屽苟鎻愪緵涓撲笟鐨勪骇鍝佷粙缁嶅拰閿�鍞缓璁��' }, { title: '搴撳瓨绠$悊鐭ヨ瘑搴撻棶绛�', description: '搴撳瓨鐭ヨ瘑锛屾彁渚涗笓涓氱殑渚涘簲閾惧簱瀛樼煡璇嗛棶绛�', imageUrl: '/images/know.jpg', - chatbotId: 'pDDfkU9HyBl2gzXx' + chatbotId: 'pDDfkU9HyBl2gzXx', + background: '楂樻晥鐨勫簱瀛樼鐞嗛渶瑕佷赴瀵岀殑涓撲笟鐭ヨ瘑鍜岀粡楠屻�侫I鐭ヨ瘑搴撴暣鍚堜簡澶ч噺渚涘簲閾惧拰搴撳瓨绠$悊鐨勪笓涓氱煡璇嗭紝鍙互蹇�熻В绛斿悇绫诲簱瀛樼鐞嗛棶棰樸��', + instructions: '鎮ㄥ彲浠ヨ闂换浣曚笌搴撳瓨绠$悊鐩稿叧鐨勯棶棰橈紝鍖呮嫭搴撳瓨绛栫暐銆佹垚鏈帶鍒躲�佸懆杞巼浼樺寲绛夛紝AI鍔╂墜灏嗕负鎮ㄦ彁渚涗笓涓氱殑瑙g瓟鍜屽缓璁��' }, ]; export default function AIScenePage() { const [isChatOpen, setIsChatOpen] = useState(false); + const [isIntroOpen, setIsIntroOpen] = useState(false); const [currentChatbot, setCurrentChatbot] = useState(''); + const [selectedScene, setSelectedScene] = useState(services[0]); - const handleCardClick = (title: string, chatbotId?: string) => { - if (chatbotId) { - setCurrentChatbot(chatbotId); - setIsChatOpen(true); - } + const handleCardClick = (service: typeof services[0]) => { + setSelectedScene(service); + setIsIntroOpen(true); + }; + + const handleStartChat = () => { + setIsIntroOpen(false); + setCurrentChatbot(selectedScene.chatbotId); + setIsChatOpen(true); }; return ( @@ -62,12 +77,20 @@ <Card key={index} {...service} - onClick={() => handleCardClick(service.title, service.chatbotId)} + onClick={() => handleCardClick(service)} /> ))} </div> </div> </div> + + <SceneIntroDialog + isOpen={isIntroOpen} + onClose={() => setIsIntroOpen(false)} + onStartChat={handleStartChat} + scene={selectedScene} + /> + <ChatDialog isOpen={isChatOpen} onClose={() => setIsChatOpen(false)} -- Gitblit v1.9.3