修复F1楼层默认进入判定
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
lyf
2026-07-17 15:29:03 +08:00
parent 122013ccfb
commit 3d4f4c1d9a
3 changed files with 12 additions and 8 deletions

View File

@@ -63,7 +63,8 @@ import type {
GuideRouteResult GuideRouteResult
} from '@/domain/museum' } from '@/domain/museum'
import { import {
compareFloorsTopToBottom compareFloorsTopToBottom,
getFloorSortLevel
} from '@/domain/guideFloor' } from '@/domain/guideFloor'
import { import {
guideModelLoadManager, guideModelLoadManager,
@@ -3139,7 +3140,8 @@ const resolveFloorIdFromRequest = (requestedFloorId?: string | null) => {
} }
const isGroundEntryFloor = (floor: FloorIndexItem) => ( const isGroundEntryFloor = (floor: FloorIndexItem) => (
getFloorMatchKeys(floor).some((key) => { getFloorSortLevel(floor) === 1
|| getFloorMatchKeys(floor).some((key) => {
const normalizedKey = normalizeModelMatchKey(key) const normalizedKey = normalizeModelMatchKey(key)
return normalizedKey === 'l1' || normalizedKey === '1f' return normalizedKey === 'l1' || normalizedKey === '1f'
}) })

View File

@@ -345,6 +345,7 @@ import type {
MuseumHall, MuseumHall,
MuseumPoi MuseumPoi
} from '@/domain/museum' } from '@/domain/museum'
import { getFloorSortLevel } from '@/domain/guideFloor'
type GuideIndoorView = 'overview' | 'floor' | 'multi' type GuideIndoorView = 'overview' | 'floor' | 'multi'
type LayerDisplayMode = 'single' | 'multi' type LayerDisplayMode = 'single' | 'multi'
@@ -583,7 +584,8 @@ const guideFloors = ref<MuseumFloor[]>([])
const normalizeGuideFloorId = (labelOrId: string) => guideUseCase.normalizeFloorId(labelOrId) const normalizeGuideFloorId = (labelOrId: string) => guideUseCase.normalizeFloorId(labelOrId)
const getPreferredInitialGuideFloorId = (floors: MuseumFloor[]) => ( const getPreferredInitialGuideFloorId = (floors: MuseumFloor[]) => (
floors.find((floor) => ( floors.find((floor) => (
normalizeGuideFloorId(floor.id) === 'L1' getFloorSortLevel(floor) === 1
|| normalizeGuideFloorId(floor.id) === 'L1'
|| normalizeGuideFloorId(floor.label) === 'L1' || normalizeGuideFloorId(floor.label) === 'L1'
))?.id ))?.id
|| floors[0]?.id || floors[0]?.id

View File

@@ -366,17 +366,17 @@ describe('首页搜索与地图闭环', () => {
it('楼层数据按高到低返回时,首次进入仍将 1F 作为自动缩放的默认目标', async () => { it('楼层数据按高到低返回时,首次进入仍将 1F 作为自动缩放的默认目标', async () => {
const originalFloors = [...floors] const originalFloors = [...floors]
floors.splice(0, floors.length, floors.splice(0, floors.length,
{ id: 'L5', label: '5F', order: 5 }, { id: 'F5', label: 'F5', order: 5 },
{ id: 'L2', label: '2F', order: 2 }, { id: 'F2', label: 'F2', order: 2 },
{ id: 'L1', label: '1F', order: 1 } { id: 'F1', label: 'F1', order: 1 }
) )
try { try {
const wrapper = await mountIndex() const wrapper = await mountIndex()
const map = wrapper.getComponent(GuideMapShellStub) const map = wrapper.getComponent(GuideMapShellStub)
expect(map.props('activeFloor')).toBe('L1') expect(map.props('activeFloor')).toBe('F1')
expect(wrapper.getComponent(PoiSearchPanelStub).props('currentFloorId')).toBe('L1') expect(wrapper.getComponent(PoiSearchPanelStub).props('currentFloorId')).toBe('F1')
} finally { } finally {
floors.splice(0, floors.length, ...originalFloors) floors.splice(0, floors.length, ...originalFloors)
} }