From 82475f71dbee6de266695a1ff101fa492addc224 Mon Sep 17 00:00:00 2001 From: AnNingUI Date: Tue, 12 Aug 2025 20:36:00 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=E6=B8=85=E7=90=86=E6=8E=89=E4=BA=86?= =?UTF-8?q?=E6=89=80=E6=9C=89warn=EF=BC=8C=E4=BC=98=E5=8C=96=E4=BA=86?= =?UTF-8?q?=E5=9C=A8=E7=A7=BB=E5=8A=A8=E7=AB=AF=E4=BE=A7=E8=BE=B9=E6=A0=8F?= =?UTF-8?q?=E7=9A=84=E9=80=BB=E8=BE=91=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend_nuxt/app.vue | 12 +++++++-- frontend_nuxt/nuxt.config.ts | 5 ++++ frontend_nuxt/pages/posts/[id]/index.vue | 2 ++ frontend_nuxt/pages/users/[id].vue | 21 +++++++-------- frontend_nuxt/plugins/ldrs.client.ts | 2 +- frontend_nuxt/plugins/nprogress.client.ts | 3 ++- frontend_nuxt/plugins/theme.client.ts | 2 +- .../plugins/toastification.client.ts | 2 +- frontend_nuxt/utils/markdown.js | 27 ++++++++++--------- 9 files changed, 46 insertions(+), 30 deletions(-) diff --git a/frontend_nuxt/app.vue b/frontend_nuxt/app.vue index e95e848e5..fcc9288a9 100644 --- a/frontend_nuxt/app.vue +++ b/frontend_nuxt/app.vue @@ -48,8 +48,16 @@ export default { } }) - const handleMenuOutside = () => { - if (isMobile.value) menuVisible.value = false + const handleMenuOutside = (event) => { + // 检查点击事件是否来自菜单按钮 + const menuBtn = document.querySelector('.menu-btn') + if (menuBtn && (menuBtn === event.target || menuBtn.contains(event.target))) { + return // 如果是菜单按钮的点击,不处理关闭 + } + + if (isMobile.value) { + menuVisible.value = false + } } return { menuVisible, hideMenu, handleMenuOutside } diff --git a/frontend_nuxt/nuxt.config.ts b/frontend_nuxt/nuxt.config.ts index bf7035354..7d94847ba 100644 --- a/frontend_nuxt/nuxt.config.ts +++ b/frontend_nuxt/nuxt.config.ts @@ -43,4 +43,9 @@ export default defineNuxtConfig({ ], }, }, + vue: { + compilerOptions: { + isCustomElement: (tag) => ['l-hatch', 'l-hatch-spinner'].includes(tag), + }, + }, }) diff --git a/frontend_nuxt/pages/posts/[id]/index.vue b/frontend_nuxt/pages/posts/[id]/index.vue index 3d6cc917d..8e05e5d80 100644 --- a/frontend_nuxt/pages/posts/[id]/index.vue +++ b/frontend_nuxt/pages/posts/[id]/index.vue @@ -249,6 +249,7 @@ import TimeManager from '~/utils/time' import { useRouter } from 'vue-router' import { useIsMobile } from '~/utils/screen' import Dropdown from '~/components/Dropdown.vue' +import { ClientOnly } from '#components' export default { name: 'PostPageView', @@ -262,6 +263,7 @@ export default { DropdownMenu, VueEasyLightbox, Dropdown, + ClientOnly, }, async setup() { const route = useRoute() diff --git a/frontend_nuxt/pages/users/[id].vue b/frontend_nuxt/pages/users/[id].vue index 607f5e0b5..26381d870 100644 --- a/frontend_nuxt/pages/users/[id].vue +++ b/frontend_nuxt/pages/users/[id].vue @@ -297,27 +297,26 @@ diff --git a/frontend_nuxt/components/HeaderComponent.vue b/frontend_nuxt/components/HeaderComponent.vue index 1a2c52f09..d4b6c2d86 100644 --- a/frontend_nuxt/components/HeaderComponent.vue +++ b/frontend_nuxt/components/HeaderComponent.vue @@ -3,7 +3,7 @@