From 1495d806aa545268b8c3a97fe54a4896d7d1b4c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9F=9A=E5=AD=90?= <40852301+uiYzzi@users.noreply.github.com> Date: Sat, 8 Mar 2025 00:22:55 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=E6=90=9C=E7=B4=A2=E6=A1=86?= =?UTF-8?q?=E6=94=AF=E6=8C=81=20spk=20=E9=93=BE=E6=8E=A5=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/TitleBar/index.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/components/TitleBar/index.tsx b/src/components/TitleBar/index.tsx index 9a778db..2621f27 100644 --- a/src/components/TitleBar/index.tsx +++ b/src/components/TitleBar/index.tsx @@ -18,7 +18,17 @@ const TitleBar: Component = (props) => { const handleSearch = () => { if (searchInput?.value) { - navigate(`/search?q=${encodeURIComponent(searchInput.value)}`); + if (searchInput.value.startsWith('spk://')) { + // 处理 spk:// 协议 + const path = searchInput.value.replace('spk://', ''); + const parts = path.split('/'); + const category = parts[parts.length - 2]; + const pkgname = parts[parts.length - 1]; + navigate(`/app/${category}/${pkgname}`); + } else { + // 处理普通搜索 + navigate(`/search?q=${encodeURIComponent(searchInput.value)}`); + } searchInput.value = ""; } };