From 110fe624048cce2cedc444efb96fb681b135d565 Mon Sep 17 00:00:00 2001 From: sion123 <450702724@qq.com> Date: Mon, 16 Mar 2026 02:41:26 +0800 Subject: [PATCH] refactor: replace ant-design components with shadcn/ui and update toast notifications This commit migrates from Ant Design Vue components to Shadcn/Vue components across multiple files in the web-gold frontend application. Key changes include: - Replaced ant-design-vue imports with shadcn/ui components (Dialog, Button, Input, etc.) - Swapped ant-design-vue message/toast system for vue-sonner toast notifications - Updated icon usage from ant-design icons to lucide icons via @iconify/vue - Removed unused token refresh logic that was incorrectly implemented client-side - Applied consistent styling updates to match new component library The token refresh functionality was removed since it should be handled server-side through axios interceptors rather than client-side intervals. --- frontend/app/web-gold/src/App.vue | 20 +- .../src/components/SavePromptModal.vue | 103 ++-- .../web-gold/src/components/StyleSelector.vue | 68 ++- .../src/components/VideoPreviewModal.vue | 79 +-- .../web-gold/src/components/VideoSelector.vue | 514 ++++++++---------- .../web-gold/src/components/VoiceSelector.vue | 145 +++-- .../src/components/agents/HistoryPanel.vue | 210 +++---- .../components/agents/MyFavoritesModal.vue | 229 ++++---- 8 files changed, 632 insertions(+), 736 deletions(-) diff --git a/frontend/app/web-gold/src/App.vue b/frontend/app/web-gold/src/App.vue index 1ae014af0c..53696e60c7 100644 --- a/frontend/app/web-gold/src/App.vue +++ b/frontend/app/web-gold/src/App.vue @@ -2,8 +2,6 @@ import { RouterView } from 'vue-router' import { ref, watchEffect } from 'vue' import SvgSprite from '@/components/icons/SvgSprite.vue' -import { useUserStore } from '@/stores/user' -import tokenManager from '@gold/utils/token-manager' // ======================================== // 主题配置 - 使用 CSS 变量,无需 Ant Design @@ -47,21 +45,9 @@ watchEffect((onCleanup) => { onCleanup(() => media.removeEventListener('change', handler)) }) -// 用户状态 -const userStore = useUserStore() - -// 自动刷新 token -watchEffect((onCleanup) => { - let interval - if (userStore.isLoggedIn) { - interval = setInterval(() => { - tokenManager.refreshToken() - }, 5 * 60 * 1000) - } - onCleanup(() => { - if (interval) clearInterval(interval) - }) -}) +// 注意:token 刷新逻辑需要通过后端 API 实现 +// TokenManager 只是本地存储管理器,不具备刷新能力 +// 如需自动刷新,应在 axios 拦截器中处理 401 响应 // 暴露给模板使用 defineExpose({ toggleTheme, isDark }) diff --git a/frontend/app/web-gold/src/components/SavePromptModal.vue b/frontend/app/web-gold/src/components/SavePromptModal.vue index 29ad9a600c..47d0c28154 100644 --- a/frontend/app/web-gold/src/components/SavePromptModal.vue +++ b/frontend/app/web-gold/src/components/SavePromptModal.vue @@ -1,9 +1,18 @@