From 92ab2e7b148c352973c1bd9ad0093a362adfa1a0 Mon Sep 17 00:00:00 2001 From: Eamon-meng <17516219072@163.com> Date: Tue, 15 Jul 2025 15:26:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=8B=E6=8B=89=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E6=A0=8F=E9=80=89=E6=8B=A9=E9=80=89=E9=A1=B9=E5=90=8E?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E5=B1=95=E7=A4=BA=E4=BD=86=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E6=A0=8F=E6=9C=AA=E5=85=B3=E9=97=AD=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/(home)/@header/menu-help.tsx | 21 +++++++++++++++++++-- src/app/(home)/@header/menu-solution.tsx | 15 ++++++++++++++- src/app/(home)/collect/page.tsx | 2 +- 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/src/app/(home)/@header/menu-help.tsx b/src/app/(home)/@header/menu-help.tsx index 985c0c4..bc73f41 100644 --- a/src/app/(home)/@header/menu-help.tsx +++ b/src/app/(home)/@header/menu-help.tsx @@ -5,7 +5,9 @@ import h01 from '@/assets/header/help/01.svg' import h02 from '@/assets/header/help/02.svg' import h03 from '@/assets/header/help/03.svg' import banner from '@/assets/header/help/banner.webp' -import {FragmentTitle} from '@/app/(home)/@header/common' +import {FragmentTitle, HeaderContext} from './common' +import {useContext} from 'react' +import {useRouter} from 'next/navigation' export default function HelpMenu() { return ( @@ -49,13 +51,28 @@ function Column(props: { href: string }[] }) { + const ctx = useContext(HeaderContext) // 获取菜单上下文 + const router = useRouter() + + if (!ctx) { + throw new Error(`HeaderContext not found`) + } return (
diff --git a/src/app/(home)/@header/menu-solution.tsx b/src/app/(home)/@header/menu-solution.tsx index b2a83ad..4481441 100644 --- a/src/app/(home)/@header/menu-solution.tsx +++ b/src/app/(home)/@header/menu-solution.tsx @@ -8,8 +8,10 @@ import s06 from '@/assets/header/solution/06.svg' import s07 from '@/assets/header/solution/07.svg' import s08 from '@/assets/header/solution/08.svg' import {StaticImageData} from 'next/image' -import {FragmentTitle} from '@/app/(home)/@header/common' import Link from 'next/link' +import {useRouter} from 'next/navigation' +import {useContext} from 'react' +import {FragmentTitle, HeaderContext} from './common' export default function SolutionMenu() { return ( @@ -72,6 +74,16 @@ function SolutionItem(props: { desc: string href: string }) { + const router = useRouter() + const ctx = useContext(HeaderContext) + if (!ctx) { + throw new Error(`HeaderContext not found`) + } + + const onClick = () => { + ctx.setMenu(false) + router.push(props.href) + } return (

{props.desc}

diff --git a/src/app/(home)/collect/page.tsx b/src/app/(home)/collect/page.tsx index 0dc1f4f..99a29db 100644 --- a/src/app/(home)/collect/page.tsx +++ b/src/app/(home)/collect/page.tsx @@ -9,7 +9,7 @@ export default function CollectPage(props: CollectPageProps) {