增加前端格式检查配置

This commit is contained in:
yml2213
2026-06-08 06:40:33 +08:00
parent 79ea3a476c
commit 500f511185
150 changed files with 7254 additions and 4013 deletions
@@ -36,7 +36,10 @@ describe('useHomeFilters', () => {
const publishOptions = ref(emptyListingPublishOptions)
const listings = ref([])
const { filters, setStringFilter, closeFilterPopover } = useHomeFilters(publishOptions, listings)
const { filters, setStringFilter, closeFilterPopover } = useHomeFilters(
publishOptions,
listings
)
setStringFilter('region', '上海')
@@ -30,11 +30,7 @@ export const fireLevelRangeOptions = [
{ label: '70+', min: 70, max: undefined },
]
export function rangeLabel(
min: number | undefined,
max: number | undefined,
fallback: string
) {
export function rangeLabel(min: number | undefined, max: number | undefined, fallback: string) {
if (min !== undefined && max !== undefined) return `${min}-${max}`
if (min !== undefined) return `${min}+`
if (max !== undefined) return `≤${max}`
@@ -17,13 +17,7 @@ export type FilterPopoverKey =
| 'fireLevel'
| 'loginMethod'
export type StringFilterKey =
| 'insurance'
| 'stamina'
| 'load'
| 'region'
| 'rank'
| 'loginMethod'
export type StringFilterKey = 'insurance' | 'stamina' | 'load' | 'region' | 'rank' | 'loginMethod'
export interface HomeFilters {
keyword: string
@@ -80,35 +74,33 @@ export function useHomeFilters(
const regionOptions = computed(() =>
uniqueOptions([
...publishOptions.value.region_options,
...listings.value.flatMap((item) => assetRegions(item)),
...listings.value.flatMap(item => assetRegions(item)),
])
)
const loginMethodOptions = computed(() =>
uniqueOptions(
publishOptions.value.login_method_options
.map((item) => item.trim())
.filter(Boolean)
publishOptions.value.login_method_options.map(item => item.trim()).filter(Boolean)
)
)
const skinFilterGroups = computed(() => {
const preferred = ['operatorRed', 'operatorGold']
return preferred
.map((key) => publishOptions.value.skin_groups.find((group) => group.key === key))
.map(key => publishOptions.value.skin_groups.find(group => group.key === key))
.filter((group): group is ListingPublishOptions['skin_groups'][number] => Boolean(group))
})
const skinChipLabel = computed(() => {
if (filters.skinName) return filters.skinName
if (filters.skinGroup) {
return skinFilterGroups.value.find((group) => group.key === filters.skinGroup)?.title || '皮肤'
return skinFilterGroups.value.find(group => group.key === filters.skinGroup)?.title || '皮肤'
}
return '皮肤'
})
function uniqueOptions(values: string[]) {
return [...new Set(values.map((item) => item.trim()).filter(Boolean))]
return [...new Set(values.map(item => item.trim()).filter(Boolean))]
}
function resetFilters() {
@@ -102,12 +102,15 @@ export function useListingQuery(
// 使用防抖优化搜索
let debounceTimer: ReturnType<typeof setTimeout> | null = null
watch(() => listingQuerySignature(), () => {
if (debounceTimer) clearTimeout(debounceTimer)
debounceTimer = setTimeout(() => {
loadListingsPage(true)
}, 300)
})
watch(
() => listingQuerySignature(),
() => {
if (debounceTimer) clearTimeout(debounceTimer)
debounceTimer = setTimeout(() => {
loadListingsPage(true)
}, 300)
}
)
return {
loading,