From d429dc887a9b74f55068e255a7bb6680610b96dd Mon Sep 17 00:00:00 2001 From: sion123 <450702724@qq.com> Date: Thu, 26 Feb 2026 20:15:24 +0800 Subject: [PATCH] feat: add agent favorite functionality with UI and API implementation - Add `addFavorite` and `removeFavorite` API functions in agent.js - Implement favorite button UI in Agents.vue with star icons - Add login check before favorite operations using token manager - Sort agents with favorites appearing at the top of the list - Include success/error messages for user feedback - Add backend API endpoints for creating/deleting agent favorites - Update agent list response to include favorite status - Style favorite button with hover and active states --- frontend/app/web-gold/src/api/agent.js | 24 ++++++ .../app/web-gold/src/views/agents/Agents.vue | 83 +++++++++++++++++-- .../muye/aiagent/AppAiAgentController.java | 44 ++++++++-- .../muye/aiagent/dal/AiAgentFavoriteDO.java | 34 ++++++++ .../aiagent/mapper/AiAgentFavoriteMapper.java | 21 +++++ .../service/AiAgentFavoriteService.java | 47 +++++++++++ .../service/AiAgentFavoriteServiceImpl.java | 70 ++++++++++++++++ .../tik/muye/aiagent/vo/AppAiAgentRespVO.java | 3 + 8 files changed, 315 insertions(+), 11 deletions(-) create mode 100644 yudao-module-tik/src/main/java/cn/iocoder/yudao/module/tik/muye/aiagent/dal/AiAgentFavoriteDO.java create mode 100644 yudao-module-tik/src/main/java/cn/iocoder/yudao/module/tik/muye/aiagent/mapper/AiAgentFavoriteMapper.java create mode 100644 yudao-module-tik/src/main/java/cn/iocoder/yudao/module/tik/muye/aiagent/service/AiAgentFavoriteService.java create mode 100644 yudao-module-tik/src/main/java/cn/iocoder/yudao/module/tik/muye/aiagent/service/AiAgentFavoriteServiceImpl.java diff --git a/frontend/app/web-gold/src/api/agent.js b/frontend/app/web-gold/src/api/agent.js index 00f3c16742..2ef42581a6 100644 --- a/frontend/app/web-gold/src/api/agent.js +++ b/frontend/app/web-gold/src/api/agent.js @@ -116,3 +116,27 @@ export function getMessages(params) { params }) } + +/** + * 添加智能体收藏 + * @param {number} agentId - 智能体ID + */ +export function addFavorite(agentId) { + return request({ + url: `${BASE_URL}/agent/favorite/create`, + method: 'post', + params: { agentId } + }) +} + +/** + * 取消智能体收藏 + * @param {number} agentId - 智能体ID + */ +export function removeFavorite(agentId) { + return request({ + url: `${BASE_URL}/agent/favorite/delete`, + method: 'delete', + params: { agentId } + }) +} diff --git a/frontend/app/web-gold/src/views/agents/Agents.vue b/frontend/app/web-gold/src/views/agents/Agents.vue index b7a93a0a06..597a717439 100644 --- a/frontend/app/web-gold/src/views/agents/Agents.vue +++ b/frontend/app/web-gold/src/views/agents/Agents.vue @@ -134,6 +134,15 @@