From 4497343b678de24293956fff538cad862753fb55 Mon Sep 17 00:00:00 2001 From: luckyasme <807254037@qq.com> Date: Thu, 24 Apr 2025 10:35:44 +0800 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=E9=9D=A2=E5=8C=85=E5=B1=91=E3=80=81?= =?UTF-8?q?=E8=8F=9C=E5=8D=95=E6=B7=BB=E5=8A=A0a=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/doc/DocBreadCrumb.vue | 6 ++-- app/.vitepress/src/components/doc/DocMenu.vue | 30 ++++++++++++------ .../src/components/menu/RecursionMenuItem.vue | 31 ++++++++++++++----- app/.vitepress/src/views/home/TheHome.vue | 17 +++++++--- .../src/views/search/TheSearchResult.vue | 6 ++-- 5 files changed, 64 insertions(+), 26 deletions(-) diff --git a/app/.vitepress/src/components/doc/DocBreadCrumb.vue b/app/.vitepress/src/components/doc/DocBreadCrumb.vue index 24ca140bf..75d56b66a 100644 --- a/app/.vitepress/src/components/doc/DocBreadCrumb.vue +++ b/app/.vitepress/src/components/doc/DocBreadCrumb.vue @@ -45,9 +45,11 @@ const goToPage = (href: string) => { - {{ t('home.docCenter') }} + {{ t('home.docCenter') }} - {{ nodeStore.moduleNode?.label }} + {{ + nodeStore.moduleNode?.label + }} {{ searchStore.isSearching ? t('docs.searchResult') : currentTitle }} diff --git a/app/.vitepress/src/components/doc/DocMenu.vue b/app/.vitepress/src/components/doc/DocMenu.vue index 0025e0fce..1dfc77355 100644 --- a/app/.vitepress/src/components/doc/DocMenu.vue +++ b/app/.vitepress/src/components/doc/DocMenu.vue @@ -1,12 +1,12 @@ diff --git a/app/.vitepress/src/views/home/TheHome.vue b/app/.vitepress/src/views/home/TheHome.vue index da1aba004..17aab9749 100644 --- a/app/.vitepress/src/views/home/TheHome.vue +++ b/app/.vitepress/src/views/home/TheHome.vue @@ -43,6 +43,7 @@ const getSearchUrl = (val: string) => { } const enterSearchDoc = (val: string) => { + clearTimeout(timer); if (!val.trim()) { return; } diff --git a/app/.vitepress/src/views/search/TheSearchResult.vue b/app/.vitepress/src/views/search/TheSearchResult.vue index 719ac2c34..c8badd748 100644 --- a/app/.vitepress/src/views/search/TheSearchResult.vue +++ b/app/.vitepress/src/views/search/TheSearchResult.vue @@ -17,6 +17,7 @@ import { useLocale } from '@/composables/useLocale'; import { useSearchingStore } from '@/stores/common'; import { scrollToTop } from '@/utils/common'; import { useNodeStore } from '@/stores/node'; +import { useViewStore } from '@/stores/view'; const props = defineProps({ // 菜单数据 @@ -32,6 +33,7 @@ const { t, locale } = useLocale(); const searchStore = useSearchingStore(); const { isPhone } = useScreen(); const nodeStore = useNodeStore(); +const viewStore = useViewStore(); // n叉树 const tree = computed(() => { @@ -47,30 +49,6 @@ const pageSizes = ref([10, 20, 50]); // 是否加载loading const isLoading = ref(false); -const searchPath = computed(() => { - const arr = route.path.split('/'); - let url = ''; - // 根节点 - if (arr.length === 3) { - url = arr[arr.length - 1].replace('.html', ''); - } else { - url = arr.slice(2, arr.length - 1).join('/'); - } - return `${url}`; -}); - -//搜索参数 -const searchParams = computed(() => { - const version = route.path.split('/')?.[3] || searchStore.version; - return { - keyword: searchStore.keyword, - lang: locale.value, - page: currentPage.value, - version: version, - path: searchPath.value, - }; -}); - // ----------------------- 监听是否加载loading ----------------------- watch( () => searchStore.isLoading, @@ -84,30 +62,37 @@ watch( const searchResult = async () => { try { searchStore.setIsLoading(true); - const res = await getSearchDocs(searchParams.value); + const url = (viewStore.isOverview ? nodeStore.moduleNode?.href : nodeStore.manualNode?.href) || route.path; + const res = await getSearchDocs({ + keyword: searchStore.keyword, + lang: locale.value, + page: currentPage.value, + version: route.path.split('/')?.[3] || searchStore.version, + path: url.replace(`/${locale.value}/`, ''), + }); let records: SearchDocItemT[] = []; if (res.status == 200) { records = res.obj.records; - } - records.map((item) => { - if (item.path) { - item.path = `/${item.path}.html`; + records.map((item) => { + if (item.path) { + item.path = `/${item.path}.html`; - let pathTempData = []; + let pathTempData = []; - let node = tree.value.getNode(tree.value.root, 'href', item.path); + let node = tree.value.getNode(tree.value.root, 'href', item.path); - if (node) { - while (node && node.depth !== 0 && node.parent) { - pathTempData.unshift(node); - node = node?.parent; + if (node) { + while (node && node.depth !== 0 && node.parent) { + pathTempData.unshift(node); + node = node?.parent; + } } - } - item.sourceData = pathTempData.slice(pathTempData.length - 1); - } - }); + item.sourceData = pathTempData.slice(pathTempData.length - 1); + } + }); + } result.value = records; total.value = res?.obj?.count || 0; -- Gitee