From 4043d20ea6d953d001e966f145c15e2b50b43d00 Mon Sep 17 00:00:00 2001 From: hrz <1710360675@qq.com> Date: Sun, 4 May 2025 12:53:36 +0800 Subject: [PATCH 1/2] =?UTF-8?q?update:=E8=81=8A=E5=A4=A9=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=B1=95=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agent/dto/AgentChatHistoryDTO.java | 3 + main/manager-web/src/apis/module/agent.js | 46 +++ main/manager-web/src/assets/user-avatar.png | Bin 0 -> 8330 bytes .../src/components/ChatHistoryDialog.vue | 366 ++++++++++++++++++ .../manager-web/src/components/DeviceItem.vue | 6 + main/manager-web/src/views/home.vue | 42 +- 6 files changed, 442 insertions(+), 21 deletions(-) create mode 100644 main/manager-web/src/assets/user-avatar.png create mode 100644 main/manager-web/src/components/ChatHistoryDialog.vue diff --git a/main/manager-api/src/main/java/xiaozhi/modules/agent/dto/AgentChatHistoryDTO.java b/main/manager-api/src/main/java/xiaozhi/modules/agent/dto/AgentChatHistoryDTO.java index a444917d..fd49e52b 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/agent/dto/AgentChatHistoryDTO.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/agent/dto/AgentChatHistoryDTO.java @@ -22,4 +22,7 @@ public class AgentChatHistoryDTO { @Schema(description = "音频ID") private String audioId; + + @Schema(description = "MAC地址") + private String macAddress; } \ No newline at end of file diff --git a/main/manager-web/src/apis/module/agent.js b/main/manager-web/src/apis/module/agent.js index 87323f9c..fd8f6cf3 100644 --- a/main/manager-web/src/apis/module/agent.js +++ b/main/manager-web/src/apis/module/agent.js @@ -97,4 +97,50 @@ export default { }); }).send(); }, + // 获取智能体会话列表 + getAgentSessions(agentId, params, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/agent/${agentId}/sessions`) + .method('GET') + .data(params) + .success((res) => { + RequestService.clearRequestTime(); + callback(res); + }) + .fail(() => { + RequestService.reAjaxFun(() => { + this.getAgentSessions(agentId, params, callback); + }); + }).send(); + }, + // 获取智能体聊天记录 + getAgentChatHistory(agentId, sessionId, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/agent/${agentId}/chat-history/${sessionId}`) + .method('GET') + .success((res) => { + RequestService.clearRequestTime(); + callback(res); + }) + .fail(() => { + RequestService.reAjaxFun(() => { + this.getAgentChatHistory(agentId, sessionId, callback); + }); + }).send(); + }, +} + +export function getAgentSessions(agentId, params) { + return request({ + url: `/agent/${agentId}/sessions`, + method: 'get', + params + }); +} + +export function getAgentChatHistory(agentId, sessionId) { + return request({ + url: `/agent/${agentId}/chat-history/${sessionId}`, + method: 'get' + }); } diff --git a/main/manager-web/src/assets/user-avatar.png b/main/manager-web/src/assets/user-avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..c99604750825693a37a9aaa2cb9f4934139983e1 GIT binary patch literal 8330 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 q!YR;)qVMEno8(sSwn literal 0 HcmV?d00001 diff --git a/main/manager-web/src/components/ChatHistoryDialog.vue b/main/manager-web/src/components/ChatHistoryDialog.vue new file mode 100644 index 00000000..967df436 --- /dev/null +++ b/main/manager-web/src/components/ChatHistoryDialog.vue @@ -0,0 +1,366 @@ + + + + + + + \ No newline at end of file diff --git a/main/manager-web/src/components/DeviceItem.vue b/main/manager-web/src/components/DeviceItem.vue index 2ac0bbac..fa81a04d 100644 --- a/main/manager-web/src/components/DeviceItem.vue +++ b/main/manager-web/src/components/DeviceItem.vue @@ -26,6 +26,9 @@
设备管理({{ device.deviceCount }})
+
+ 聊天记录 +
最近对话:{{ device.lastConnectedAt }}
@@ -51,6 +54,9 @@ export default { }, handleDeviceManage() { this.$router.push({ path: '/device-management', query: { agentId: this.device.agentId } }); + }, + handleChatHistory() { + this.$emit('chat-history', { agentId: this.device.agentId, agentName: this.device.agentName }) } } } diff --git a/main/manager-web/src/views/home.vue b/main/manager-web/src/views/home.vue index 8091b8bb..e276ec20 100644 --- a/main/manager-web/src/views/home.vue +++ b/main/manager-web/src/views/home.vue @@ -32,11 +32,7 @@
@@ -62,6 +52,7 @@ + @@ -69,13 +60,14 @@