From 3a22df383af6fc137fd66cc29408b120619ee95f Mon Sep 17 00:00:00 2001 From: liudong <liudong> Date: 星期五, 16 八月 2024 20:25:11 +0800 Subject: [PATCH] 会话页面开发 --- src/views/sessionManager/components/agentSession.vue | 6 +++ src/views/sessionManager/components/chatMenu.vue | 57 +++++++++++++++++++++------- src/views/sessionManager/index.vue | 2 + src/views/sessionManager/components/historySession.vue | 31 ++++++++++++++- 4 files changed, 79 insertions(+), 17 deletions(-) diff --git a/src/views/sessionManager/components/agentSession.vue b/src/views/sessionManager/components/agentSession.vue index b408c10..5092bff 100644 --- a/src/views/sessionManager/components/agentSession.vue +++ b/src/views/sessionManager/components/agentSession.vue @@ -321,6 +321,7 @@ console.info('done'); displayedText.value = ''; queryAgentSessionDetail(agentObj.id); + EventBus.emit('queryAppUsageList'); break; } } @@ -375,9 +376,14 @@ EventBus.on('createAgent', (data) => { createNewAgent(data); }); + EventBus.on('queryAgentSessionDetail', (data) => { + Object.assign(agentObj, data); + queryAgentSessionDetail(data.id); + }); }); onBeforeUnmount(() => { EventBus.off('createAgent'); + EventBus.off('queryAgentSessionDetail'); }); watch( diff --git a/src/views/sessionManager/components/chatMenu.vue b/src/views/sessionManager/components/chatMenu.vue index e61c160..5febeb1 100644 --- a/src/views/sessionManager/components/chatMenu.vue +++ b/src/views/sessionManager/components/chatMenu.vue @@ -86,13 +86,13 @@ <div class="myAgentBoxImgLayout___u69B_"> <div class="MuiBox-root css-5nczy5"> <img - src="https://kimi-img.moonshot.cn/prod-chat-kimi/avatar/kimiplus/guess.png" + :src="item.icon ? httpUrl + item.icon:'https://kimi-img.moonshot.cn/prod-chat-kimi/avatar/kimiplus/guess.png'" alt="" style="border-radius: 50%; width: 100%; height: 100%;"> </div> <span class="myAgentBoxImgLayoutTip___xHV4m">{{item.name}}</span> </div> - <div data-testid="msh-sidebar-bot-delete" class="myAgentBoxImgDelete___qXZuq" @click="deleteSession(item)"> + <div data-testid="msh-sidebar-bot-delete" class="myAgentBoxImgDelete___qXZuq" @click.stop="deleteSession(item)"> <div class="myAgentBoxImgDeleteInner____Hawc" >浠庝晶杈规爮绉婚櫎</div> </div> </div> @@ -120,10 +120,12 @@ sessionListApi } from "@/api/session"; import { Message } from "@arco-design/web-vue"; +const httpUrl = localStorage.getItem('httpUrl'); import EventBus from '@/utils/EventBus'; const emit = defineEmits(["querySessionDetail","changeAgentType","createSession"]); import logo from "@/assets/images/model.png"; import { appUsageSessionListApi, deleteAppUsage } from "@/api/Agent"; +import { getAgentSessionDetailsApi } from "@/api/agentSession"; const activeSessionId = ref(""); const fieldNames = { value: "id", label: "name" }; const dialogs = ref([]); @@ -159,15 +161,26 @@ const createNewSession = async (session) => { console.log(session, 'session'); // 鏌ヨ鍘嗗彶璁板綍 - // if (session.type == '1') { - // // 鐢熸垚鏅鸿兘浣撴柊鐨勫璇� - // emit('createSession',session.id); - // emit('changeAgentType','1'); - // } else { - // // 鐢熸垚agent鏂扮殑瀵硅瘽 - // EventBus.emit("createAgent",session); - // emit('changeAgentType','2'); - // } + if (session.app_type == '1') { + // 鐢熸垚鏅鸿兘浣撴柊鐨勫璇� + emit('createSession',session.app_id); + emit('changeAgentType','1'); + } else { + // 鐢熸垚agent鏂扮殑瀵硅瘽 + // agent瀵硅薄鏁版嵁灏佽 + const { code, data } = await getAgentSessionDetailsApi(session.app_id); + if (code == 0) { + console.log(data,'浼氳瘽璇︽儏'); + let sessionObj = { + id: session.app_id, + dsl: data.dsl, + title: session.name, + } + EventBus.emit("createAgent",sessionObj); + emit('changeAgentType','2'); + } + + } @@ -179,11 +192,23 @@ //鏍规嵁浼氳瘽id鍒犻櫎浼氳瘽 const deleteSession = async (session) => { const { code } = await deleteAppUsage({ - app_id:session.id + app_id:session.app_id }); if (code === 200) { // Message.success('鍒犻櫎鎴愬姛'); - querySessionList(''); + const { code, data } = await appUsageSessionListApi(''); + if (code === 200) { + sessionList.value = data; + // sessionList.value.splice(0, 5); + console.log(sessionList.value,'鐢ㄦ埛涔犳儻浼氳瘽鍒楄〃'); + if(sessionList.value.length == 0){ + // 鐢熸垚鏅鸿兘浣撴柊鐨勫璇� + emit('createSession',''); + emit('changeAgentType','1'); + } + } else { + // Message.warning("鏌ヨ澶辫触"); + } } }; @@ -197,10 +222,12 @@ }) onMounted(() => { - + EventBus.on("queryAppUsageList", (data) => { + querySessionList(''); + }) }) onBeforeUnmount(() => { - + EventBus.off("queryAppUsageList"); }); diff --git a/src/views/sessionManager/components/historySession.vue b/src/views/sessionManager/components/historySession.vue index 23b3479..f4d386e 100644 --- a/src/views/sessionManager/components/historySession.vue +++ b/src/views/sessionManager/components/historySession.vue @@ -101,6 +101,7 @@ const emit = defineEmits(["querySessionDetail","changeAgentType"]); import logo from "@/assets/images/model.png"; import { deleteKnow } from "@/api/kbList"; +import { getAgentSessionDetailsApi } from "@/api/agentSession"; const sessionList = ref([]); //浼氳瘽鍒楄〃 const activeSessionId = ref(""); const fieldNames = { value: "id", label: "name" }; @@ -198,8 +199,34 @@ const querySessionDetail = async (session) => { console.log(session, 'session'); - emit('changeAgentType','1'); - emit('querySessionDetail',session); + + + // 鏌ヨ鍘嗗彶璁板綍 + if (session.base == 'agent') { + // agent瀵硅薄鏁版嵁灏佽 + // const { code, data } = await getAgentSessionDetailsApi(session.app_id); + // if (code == 0) { + // console.log(data,'浼氳瘽璇︽儏'); + // let sessionObj = { + // id: session.app_id, + // dsl: data.dsl, + // title: session.name, + // } + // + // } + EventBus.emit("queryAgentSessionDetail",{ + ...sessionObj, + id: session.app_id, + }); + emit('changeAgentType','2'); + } else { + // 鐢熸垚鏅鸿兘浣撴柊鐨勫璇� + emit('changeAgentType','1'); + emit('querySessionDetail',session); + } + + + } diff --git a/src/views/sessionManager/index.vue b/src/views/sessionManager/index.vue index c8459da..0965d2c 100644 --- a/src/views/sessionManager/index.vue +++ b/src/views/sessionManager/index.vue @@ -356,6 +356,7 @@ console.info("done"); displayedText.value = ""; queryNewSessionDetail(activeSessionId.value); + EventBus.emit('queryAppUsageList'); break; } } @@ -377,6 +378,7 @@ activeSessionId.value = id; const { code, data } = await getSessionDetailsApi(id); if (code === 200) { + console.log(data, "鏂板缓浼氳瘽璇︽儏"); sessionDetailList.value = data.message; agentTitle.value = data.name; refreshScroll(); //鍒锋柊婊氬姩鏉′綅缃� -- Gitblit v1.8.0