diff --git a/frontend/src/features/listings/composables/useHomeFilterQuery.ts b/frontend/src/features/listings/composables/useHomeFilterQuery.ts index 09656d5..e0cc5d6 100644 --- a/frontend/src/features/listings/composables/useHomeFilterQuery.ts +++ b/frontend/src/features/listings/composables/useHomeFilterQuery.ts @@ -1,9 +1,10 @@ import type { LocationQuery, LocationQueryRaw } from 'vue-router' +// 注意:zone(专区)不纳入筛选持久化体系,作为独立的视图切换状态。 +// 否则切回“全部专区”时,空 query 会回退读取 sessionStorage 中残留的旧 zone,导致专区被弹回。 export const desktopHomeFilterQueryKeys = [ 'keyword', 'sort', - 'zone', 'server', 'region', 'login_method', diff --git a/frontend/src/features/listings/views/HomeView.vue b/frontend/src/features/listings/views/HomeView.vue index 2fecc67..c2a3ba8 100644 --- a/frontend/src/features/listings/views/HomeView.vue +++ b/frontend/src/features/listings/views/HomeView.vue @@ -189,7 +189,7 @@ function applyRouteQueryToHomeState() { filters.minFireLevel = readQueryNumber(query, 'min_fire_level') filters.maxFireLevel = readQueryNumber(query, 'max_fire_level') sortBy.value = readQueryString(query, 'sort') || 'recommended' - activeZone.value = readQueryString(query, 'zone') || 'all' + // zone 不从 query/storage 恢复,由用户实时点击决定,不参与筛选持久化 } function desktopHomeStateSignature() { @@ -213,7 +213,6 @@ function buildDesktopHomeQueryValues(): Record { return { keyword: filters.keyword.trim() || undefined, sort: sortBy.value === 'recommended' ? undefined : sortBy.value, - zone: activeZone.value === 'all' ? undefined : activeZone.value, server: filters.server, region: filters.region, login_method: filters.loginMethod,