筛选增加多选功能

This commit is contained in:
yml2213
2026-07-11 23:21:54 +08:00
parent 0958991847
commit f81842d46e
9 changed files with 165 additions and 65 deletions
@@ -20,6 +20,8 @@ import {
isSameQuery,
mergeHomeQuery,
readStoredHomeQuery,
joinQueryCSV,
readQueryCSV,
readQueryNumber,
readQueryString,
storeHomeQuery,
@@ -170,12 +172,12 @@ function applyRouteQueryToHomeState() {
: storedQuery
filters.keyword = readQueryString(query, 'keyword')
filters.server = readQueryString(query, 'server')
filters.region = readQueryString(query, 'region')
filters.loginMethod = readQueryString(query, 'login_method')
filters.rank = readQueryString(query, 'rank')
filters.insurance = readQueryString(query, 'insurance')
filters.stamina = readQueryString(query, 'stamina')
filters.load = readQueryString(query, 'load')
filters.region = readQueryCSV(query, 'region')
filters.loginMethod = readQueryCSV(query, 'login_method')
filters.rank = readQueryCSV(query, 'rank')
filters.insurance = readQueryCSV(query, 'insurance')
filters.stamina = readQueryCSV(query, 'stamina')
filters.load = readQueryCSV(query, 'load')
filters.skinGroup = readQueryString(query, 'skin_group')
filters.skinName = readQueryString(query, 'skin_name')
filters.minCoin = readQueryNumber(query, 'min_coin')
@@ -215,15 +217,15 @@ function buildDesktopHomeQueryValues(): Record<string, HomeQueryValue> {
return {
keyword: filters.keyword.trim() || undefined,
sort: sortBy.value === 'recommended' ? undefined : sortBy.value,
server: filters.server,
region: filters.region,
login_method: filters.loginMethod,
rank: filters.rank,
insurance: filters.insurance,
stamina: filters.stamina,
load: filters.load,
skin_group: filters.skinGroup,
skin_name: filters.skinName,
server: filters.server || undefined,
region: joinQueryCSV(filters.region),
login_method: joinQueryCSV(filters.loginMethod),
rank: joinQueryCSV(filters.rank),
insurance: joinQueryCSV(filters.insurance),
stamina: joinQueryCSV(filters.stamina),
load: joinQueryCSV(filters.load),
skin_group: filters.skinGroup || undefined,
skin_name: filters.skinName || undefined,
min_coin: filters.minCoin,
max_coin: filters.maxCoin,
min_ratio: filters.minRatio,