修复首页专区无法切回全部:专区与筛选持久化解耦

zone 此前被纳入 URL/sessionStorage 持久化体系,切回全部专区时
空 query 会回退读取残留的旧 zone 导致专区被弹回。改为纯内存视图
状态,专区可自由切换、不参与筛选持久化。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
yml2213
2026-06-17 07:58:01 +08:00
co-authored by Claude Opus 4.8
parent fa2d245788
commit d066cb65a3
2 changed files with 3 additions and 3 deletions
@@ -1,9 +1,10 @@
import type { LocationQuery, LocationQueryRaw } from 'vue-router' import type { LocationQuery, LocationQueryRaw } from 'vue-router'
// 注意:zone(专区)不纳入筛选持久化体系,作为独立的视图切换状态。
// 否则切回“全部专区”时,空 query 会回退读取 sessionStorage 中残留的旧 zone,导致专区被弹回。
export const desktopHomeFilterQueryKeys = [ export const desktopHomeFilterQueryKeys = [
'keyword', 'keyword',
'sort', 'sort',
'zone',
'server', 'server',
'region', 'region',
'login_method', 'login_method',
@@ -189,7 +189,7 @@ function applyRouteQueryToHomeState() {
filters.minFireLevel = readQueryNumber(query, 'min_fire_level') filters.minFireLevel = readQueryNumber(query, 'min_fire_level')
filters.maxFireLevel = readQueryNumber(query, 'max_fire_level') filters.maxFireLevel = readQueryNumber(query, 'max_fire_level')
sortBy.value = readQueryString(query, 'sort') || 'recommended' sortBy.value = readQueryString(query, 'sort') || 'recommended'
activeZone.value = readQueryString(query, 'zone') || 'all' // zone 不从 query/storage 恢复,由用户实时点击决定,不参与筛选持久化
} }
function desktopHomeStateSignature() { function desktopHomeStateSignature() {
@@ -213,7 +213,6 @@ function buildDesktopHomeQueryValues(): Record<string, HomeQueryValue> {
return { return {
keyword: filters.keyword.trim() || undefined, keyword: filters.keyword.trim() || undefined,
sort: sortBy.value === 'recommended' ? undefined : sortBy.value, sort: sortBy.value === 'recommended' ? undefined : sortBy.value,
zone: activeZone.value === 'all' ? undefined : activeZone.value,
server: filters.server, server: filters.server,
region: filters.region, region: filters.region,
login_method: filters.loginMethod, login_method: filters.loginMethod,