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