再次优化筛选

This commit is contained in:
yml2213
2026-06-13 18:19:45 +08:00
parent 55326b7d06
commit 9965150521
5 changed files with 301 additions and 7 deletions
@@ -13,11 +13,16 @@ import {
} from '@/features/listings/api/listingOptions'
import { useHomeFilters } from '@/features/listings/composables/useHomeFilters'
import {
clearStoredHomeQuery,
desktopHomeFilterStorageKey,
desktopHomeFilterQueryKeys,
hasHomeQueryValues,
isSameQuery,
mergeHomeQuery,
readStoredHomeQuery,
readQueryNumber,
readQueryString,
storeHomeQuery,
type HomeQueryValue,
} from '@/features/listings/composables/useHomeFilterQuery'
import { useListingQuery } from '@/features/listings/composables/useListingQuery'
@@ -151,6 +156,7 @@ function updateFilters(partial: Partial<typeof filters>) {
}
function handleResetFilters() {
clearStoredHomeQuery(desktopHomeFilterStorageKey)
resetFilters()
activeZone.value = 'all'
sortBy.value = 'recommended'
@@ -158,7 +164,10 @@ function handleResetFilters() {
}
function applyRouteQueryToHomeState() {
const query = route.query
const storedQuery = readStoredHomeQuery(desktopHomeFilterStorageKey)
const query = hasHomeQueryValues(route.query, desktopHomeFilterQueryKeys)
? route.query
: storedQuery
filters.keyword = readQueryString(query, 'keyword')
filters.server = readQueryString(query, 'server')
filters.region = readQueryString(query, 'region')
@@ -193,6 +202,9 @@ function syncHomeQuery() {
desktopHomeFilterQueryKeys,
buildDesktopHomeQueryValues()
)
if (hasHomeQueryValues(query, desktopHomeFilterQueryKeys)) {
storeHomeQuery(desktopHomeFilterStorageKey, query)
}
if (isSameQuery(route.query, query)) return
router.replace({ path: '/', query })
}
@@ -224,6 +236,7 @@ function buildDesktopHomeQueryValues(): Record<string, HomeQueryValue> {
}
}
syncHomeQuery()
loadHome()
</script>