diff --git a/src/components/AppPagination.vue b/src/components/AppPagination.vue index 579df2d0160ffe7337695327b570e8f93062a183..ef77ddc43cb24e2bae3a0c6baba81bad2e533fd6 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 bbed3ada07a3252c3fecefe5520e92b5b1832b58..2e5c34ed4df58a0fbeec9a07725c7eea83f2fc49 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 e30508c45fe7d5bce9146cd4886e362a9ee67385..65d360814676b271c076f44e9131a60db257f126 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 633c2448d500128ba8e9dd8efc6fda9a99b368cc..d89acf9887459ad4c48de9ed5a1573ad30850746 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 c22701d99eb89e49d41f14ce68775c34cc5634d3..7c3d8f360e04f03e74175b7708cc944a00e219a7 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 388b99566f4f3d4cd0023a6e5085b98fd035998d..a7fb6ea72847024b36a57df536bee66feeaf2c0c 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 7aec41a0290bf641d60a6105a07306153938c7df..2878e1cc770a561f22d60acd3bcde4187ede7562 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 833e905db820daa4cc98ade9d17725b51b5fe966..4f0c7e86eb585a58c853a4abc0ce8ffaded01279 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 c875de2fe53dbec5cdc69c3093cdb66c87e3812d..17711c742c241b04a9ce2dc9f7d784db527636c8 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 804d17a23de4da6a856cd4c610b5ff5195ac5ccb..ab15fe53aeb786444413ee2c3015c42d8938f1e2 100644 --- a/src/views/apppkg/APkgContent.vue +++ b/src/views/field/FieldContent.vue @@ -1,6 +1,6 @@