From fa5fd89d1fd0f2d0b0bb1944b3ac4a452c49f83a Mon Sep 17 00:00:00 2001 From: zhangxiao <898441624@qq.com> Date: 星期六, 17 八月 2024 16:30:33 +0800 Subject: [PATCH] fix: 修改分页id --- src/views/sessionManager/components/agentSession.vue | 122 +++++++++++++++++++++++++++++----------- 1 files changed, 88 insertions(+), 34 deletions(-) diff --git a/src/views/sessionManager/components/agentSession.vue b/src/views/sessionManager/components/agentSession.vue index d58f498..5702476 100644 --- a/src/views/sessionManager/components/agentSession.vue +++ b/src/views/sessionManager/components/agentSession.vue @@ -1,5 +1,12 @@ <template> <!-- 鍐呭--> + <div class="header___lEPyH"> + <div class="chatHeader"> + <div class="chatHeaderBox"> + <span class="title">{{agentTitle}}</span> + </div> + </div> + </div> <a-scrollbar ref="scrollbar" id="agentHome" @@ -99,12 +106,13 @@ </template> <script setup lang="ts"> -import { defineProps, ref, watch, defineEmits, onMounted, reactive, computed, nextTick } from "vue"; +import { defineProps, ref, watch, defineEmits, onMounted, reactive, computed, nextTick, onBeforeUnmount } from "vue"; import { Message } from '@arco-design/web-vue'; import { useAppStore } from "@/store"; import { getAuthorization } from "@/utils/auth"; import { EventSourceParserStream } from 'eventsource-parser/stream'; import { agentResetApi, agentSetApi, getAgentSessionDetailsApi } from "@/api/agentSession"; +import EventBus from '@/utils/EventBus'; const props = defineProps({ modalObj: Object, }); @@ -117,6 +125,7 @@ const dialogId = ref(''); const chatDis = ref(false); const loading = ref(false); +const agentTitle = ref("鏈懡鍚嶄細璇�"); const currIndex = ref(0); @@ -141,10 +150,16 @@ // 鍒濆鍖栭〉闈� const initPage = async () => { agentSet(); - agentReset(); - agentCompletion(); - queryAgentSessionDetail(agentObj.id); }; + +const createNewAgent = async (session) => { + Object.assign(agentObj, session); + initPage(); + + +} + + // 璋冪敤set鏂规硶 const agentSet = async () => { @@ -157,6 +172,7 @@ if (res.code == 0) { // sessionDetailList.value = res.data.dsl.messages; // Message.success('淇敼鎴愬姛'); + agentReset(); } } // 璋冪敤reset鏂规硶 @@ -164,8 +180,9 @@ const res = await agentResetApi({ id: agentObj.id, }); - if (res.code === 200) { + if (res.code == 0) { // Message.success('淇敼鎴愬姛'); + agentCompletion(); } } // 璋冪敤completion鏂规硶 @@ -189,30 +206,30 @@ .pipeThrough(new EventSourceParserStream()) .getReader(); currIndex.value = 0; - // while (true) { - // const x = await reader?.read(); - // if (x) { - // const { done, value } = x; - // console.log(x, 999); - // try { - // const val = JSON.parse(value?.data || ''); - // const d = val?.data; - // if (typeof d !== 'boolean') { - // console.info('data:', d); - // streamStr.value = d.content; - // startDisplayStr(); - // } - // } catch (e) { - // console.warn(e); - // } - // if (done) { - // console.info('done'); - // displayedText.value = ''; - // queryAgentSessionDetail(agentObj.id); - // break; - // } - // } - // } + while (true) { + const x = await reader?.read(); + if (x) { + const { done, value } = x; + console.log(x, 999); + try { + const val = JSON.parse(value?.data || ''); + const d = val?.data; + if (typeof d !== 'boolean') { + console.info('data:', d); + streamStr.value = d.content; + startDisplayStr(); + } + } catch (e) { + console.warn(e); + } + if (done) { + console.info('done'); + displayedText.value = ''; + queryAgentSessionDetail(agentObj.id); + break; + } + } + } chatDis.value = false; loading.value = false; inputMsg.value = ''; @@ -224,7 +241,8 @@ if (code == 0) { console.log(data,'浼氳瘽璇︽儏'); sessionDetailList.value = data.dsl.messages; - // refreshScroll(); //鍒锋柊婊氬姩鏉′綅缃� + agentTitle.value = data.name || '鏈懡鍚嶄細璇�'; + refreshScroll(); //鍒锋柊婊氬姩鏉′綅缃� } }; @@ -303,6 +321,7 @@ console.info('done'); displayedText.value = ''; queryAgentSessionDetail(agentObj.id); + EventBus.emit('queryAppUsageList'); break; } } @@ -354,17 +373,26 @@ onMounted(() => { - + 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( () => props.modalObj, (newVal, oldVal) => { - console.log(newVal,'鐩戝惉鍙樺寲'); - Object.assign(agentObj, newVal); + // Object.assign(agentObj, newVal); //璋冪敤agent鍒濆鍖栨柟娉� if(JSON.stringify(newVal) != '{}'){ - initPage(); + // initPage(); } },{ immediate: true, @@ -503,4 +531,30 @@ } } } +.header___lEPyH { + width: 100%; + height: 46px; + position: relative; + backdrop-filter: blur(15px); + display: flex; + align-items: center; + justify-content: center; + -webkit-backdrop-filter: blur(15px); + .chatHeaderBox { + width: auto; + border-radius: 8px; + padding: 4px 20px; + transition: all var(--animation-duration) var(--animation-transition); + display: flex; + align-items: flex-end; + overflow: hidden; /* 闅愯棌瓒呭嚭鐨勫唴瀹� */ + text-overflow: ellipsis; /* 浣跨敤鐪佺暐鍙锋潵浠f浛琚殣钘忕殑鏂囧瓧 */ + white-space: nowrap; /* 涓嶆崲琛岋紝浣垮唴瀹瑰湪涓�琛屽唴鏄剧ず */ + max-width: 200px; + .title{ + color: var(--color-text-1); + font-size: 12px; + } + } +} </style> -- Gitblit v1.8.0