From ad44ad1a1981e7cda95f36f9b18234e031e50047 Mon Sep 17 00:00:00 2001 From: ailoooong Date: Mon, 8 Jul 2024 16:17:14 +0800 Subject: [PATCH] =?UTF-8?q?fixed=2011d864b=20from=20https://gitee.com/ailo?= =?UTF-8?q?ooong/easy-software/pulls/71=20fix=EF=BC=9A=20=E7=A4=BE?= =?UTF-8?q?=E5=8C=BA=E7=89=88=E6=9C=AC=E8=B7=B3=E8=BD=AC=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E3=80=81=E9=A2=86=E5=9F=9F=E5=BA=94=E7=94=A8=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BAfiled?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/AppPagination.vue | 2 +- src/components/HeaderNav.vue | 2 +- src/components/OCardItem.vue | 2 +- src/data/home/index.ts | 8 +- src/data/nav.ts | 6 +- src/i18n/software/software-en.ts | 4 + src/i18n/software/software-zh.ts | 4 + src/router/index.ts | 16 ++-- src/views/epkg/EpkgContent.vue | 21 ++++- .../FieldContent.vue} | 34 +++++--- .../TheAppPkg.vue => field/TheField.vue} | 2 +- .../TheFieldDetail.vue} | 4 +- src/views/home/HomeField.vue | 2 +- src/views/home/HomeVersion.vue | 77 +++++++++---------- src/views/image/ImageContent.vue | 21 ++++- src/views/oepkg/OEpkgContent.vue | 21 ++++- src/views/package/RpmContent.vue | 21 ++++- src/views/search/TheSearch.vue | 2 +- 18 files changed, 169 insertions(+), 80 deletions(-) rename src/views/{apppkg/APkgContent.vue => field/FieldContent.vue} (93%) rename src/views/{apppkg/TheAppPkg.vue => field/TheField.vue} (91%) rename src/views/{apppkg/TheAppPkgDetail.vue => field/TheFieldDetail.vue} (99%) diff --git a/src/components/AppPagination.vue b/src/components/AppPagination.vue index 579df2d..ef77ddc 100644 --- a/src/components/AppPagination.vue +++ b/src/components/AppPagination.vue @@ -37,7 +37,7 @@ const handleCurrentChange = (val: number) => { const isFieldPage = ref(false); onMounted(() => { - isFieldPage.value = route.name === 'apppkg' || route.query?.tab === 'all'; + isFieldPage.value = route.name === 'field' || route.query?.tab === 'all'; }); diff --git a/src/components/HeaderNav.vue b/src/components/HeaderNav.vue index bbed3ad..2e5c34e 100644 --- a/src/components/HeaderNav.vue +++ b/src/components/HeaderNav.vue @@ -28,7 +28,7 @@ const selectedIndex = computed(() => { return idx; } - if (route.path.includes('/apppkg')) { + if (route.path.includes('/field')) { idx = 1; return idx; } diff --git a/src/components/OCardItem.vue b/src/components/OCardItem.vue index e30508c..65d3608 100644 --- a/src/components/OCardItem.vue +++ b/src/components/OCardItem.vue @@ -38,7 +38,7 @@ function getQueryString(params: PkgIdsT) { } const jumpTo = (id: PkgIdsT, type?: PkgTypeT) => { - return `/${locale.value}/apppkg/detail?${type ? `type=${type}` : ''}${getQueryString(id)}`; + return `/${locale.value}/field/detail?${type ? `type=${type}` : ''}${getQueryString(id)}`; }; const repeatTags = (v: string) => { diff --git a/src/data/home/index.ts b/src/data/home/index.ts index 633c244..d89acf9 100644 --- a/src/data/home/index.ts +++ b/src/data/home/index.ts @@ -1,6 +1,6 @@ import { OPENEULER } from '@/data/config'; -import ApppkgIcon from '~icons/pkg/apppkg.svg'; +import FieldIcon from '~icons/pkg/apppkg.svg'; import EpkgIcon from '~icons/pkg/epkg.svg'; import ImageIcon from '~icons/pkg/image.svg'; import RpmIcon from '~icons/pkg/rpm.svg'; @@ -14,11 +14,11 @@ import newsImg3 from '@/assets/home/1120-cv.jpg'; export const homeData = [ { - id: 'apppkg', + id: 'field', name: '领域应用', desc: 'openEuler操作系统支持的软件集合(包括RPM、容器镜像、EPKG软件包等)', - icon: ApppkgIcon, - href: '/apppkg', + icon: FieldIcon, + href: '/field', }, { id: 'rpm', diff --git a/src/data/nav.ts b/src/data/nav.ts index c22701d..7c3d8f3 100644 --- a/src/data/nav.ts +++ b/src/data/nav.ts @@ -8,12 +8,12 @@ export const navs = [ href: '/', }, { - id: 'apppkg', + id: 'field', label: { zh: '领域应用', - en: 'applications Package', + en: 'Field', }, - href: '/apppkg', + href: '/field', }, { id: 'rpm', diff --git a/src/i18n/software/software-en.ts b/src/i18n/software/software-en.ts index 388b995..a7fb6ea 100644 --- a/src/i18n/software/software-en.ts +++ b/src/i18n/software/software-en.ts @@ -1,9 +1,13 @@ export default { softwareHome: '软件中心', all: '领域应用', + field: 'Field', rpmpkg: 'Package', + rpm: 'Package', apppkg: 'Image', + image: 'Image', epkgpkg: 'EPKG', + epkg: 'EPKG', oepkg: 'OEPKG', appversion: 'Upstream', filterAll: 'All', diff --git a/src/i18n/software/software-zh.ts b/src/i18n/software/software-zh.ts index 7aec41a..2878e1c 100644 --- a/src/i18n/software/software-zh.ts +++ b/src/i18n/software/software-zh.ts @@ -1,9 +1,13 @@ export default { softwareHome: '软件中心', all: '领域应用', + field: '领域应用', rpmpkg: 'RPM', + rpm: 'RPM', apppkg: '容器镜像', + image: '容器镜像', epkgpkg: 'EPKG', + epkg: 'EPKG', oepkg: 'OEPKG', appversion: '上游兼容应用全景', filterAll: '全部', diff --git a/src/router/index.ts b/src/router/index.ts index 833e905..4f0c7e8 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -11,16 +11,16 @@ const routes = [ { path: '/zh/', name: 'home', component: () => import('@/views/home/TheHome.vue') }, { path: '/en/', redirect: '/zh/' }, { - path: '/zh/apppkg', - name: 'apppkg', - alias: '/en/apppkg', - component: () => import('@/views/apppkg/TheAppPkg.vue'), + path: '/zh/field', + name: 'field', + alias: '/en/field', + component: () => import('@/views/field/Thefield.vue'), }, { - path: '/zh/apppkg/detail', - name: 'apppkg-detail', - alias: '/en/apppkg/detail', - component: () => import('@/views/apppkg/TheAppPkgDetail.vue'), + path: '/zh/field/detail', + name: 'field-detail', + alias: '/en/field/detail', + component: () => import('@/views/field/ThefieldDetail.vue'), }, { path: '/zh/rpm', diff --git a/src/views/epkg/EpkgContent.vue b/src/views/epkg/EpkgContent.vue index c875de2..17711c7 100644 --- a/src/views/epkg/EpkgContent.vue +++ b/src/views/epkg/EpkgContent.vue @@ -4,8 +4,9 @@ import { OTag, OLink, OIcon, isUndefined } from '@opensig/opendesign'; import { getSearchData } from '@/api/api-search'; import { getSearchAllColumn, getSearchAllFiled } from '@/api/api-domain'; -import { useRoute } from 'vue-router'; +import { useRoute, useRouter } from 'vue-router'; import { useI18n } from 'vue-i18n'; +import { useLocale } from '@/composables/useLocale'; import { getParamsRules } from '@/utils/common'; import { isValidSearchTabName, isValidSearchKey } from '@/utils/query'; import { TABNAME_OPTIONS, FLITERMENUOPTIONS } from '@/data/query'; @@ -18,7 +19,9 @@ import IconArch from '~icons/pkg/icon-arch.svg'; import IconCategory from '~icons/pkg/icon-category.svg'; const route = useRoute(); +const router = useRouter(); const { t } = useI18n(); +const { locale } = useLocale(); // EPKG-表头 const columns = [ @@ -186,6 +189,12 @@ const resetTag = () => { nameOrder.value = ''; timeOrder.value = ''; currentPage.value = 1; + + if (route.query.os || route.query.arch) { + router.push({ + path: `/${locale.value}/epkg`, + }); + } }; // 更新时间排序 @@ -250,7 +259,7 @@ watch( // -------------------- 监听 url query 变化 触发搜索 --------------------- const handleQueryData = () => { const query = route.query; - const { name, tab, key } = query; + const { name, tab, key, os, arch } = query; if (!isUndefined(name) && name) { searchKey.value = name?.toString(); currentPage.value = 1; @@ -269,6 +278,14 @@ const handleQueryData = () => { } else { keywordType.value = FLITERMENUOPTIONS[0].id; } + + // 首页社区版本跳转 + if (!isUndefined(os) && os) { + searchOs.value.push(os?.toString()); + } + if (!isUndefined(arch) && arch) { + searchArch.value.push(arch?.toString()); + } }; watch( diff --git a/src/views/apppkg/APkgContent.vue b/src/views/field/FieldContent.vue similarity index 93% rename from src/views/apppkg/APkgContent.vue rename to src/views/field/FieldContent.vue index 804d17a..ab15fe5 100644 --- a/src/views/apppkg/APkgContent.vue +++ b/src/views/field/FieldContent.vue @@ -1,6 +1,6 @@