修复首页专区无法切回全部:专区与筛选持久化解耦
zone 此前被纳入 URL/sessionStorage 持久化体系,切回全部专区时 空 query 会回退读取残留的旧 zone 导致专区被弹回。改为纯内存视图 状态,专区可自由切换、不参与筛选持久化。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
fa2d245788
commit
d066cb65a3
@@ -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',
|
||||
|
||||
@@ -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<string, HomeQueryValue> {
|
||||
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,
|
||||
|
||||
Reference in New Issue
Block a user