@@ -63,7 +63,8 @@ import type {
|
||||
GuideRouteResult
|
||||
} from '@/domain/museum'
|
||||
import {
|
||||
compareFloorsTopToBottom
|
||||
compareFloorsTopToBottom,
|
||||
getFloorSortLevel
|
||||
} from '@/domain/guideFloor'
|
||||
import {
|
||||
guideModelLoadManager,
|
||||
@@ -3139,7 +3140,8 @@ const resolveFloorIdFromRequest = (requestedFloorId?: string | null) => {
|
||||
}
|
||||
|
||||
const isGroundEntryFloor = (floor: FloorIndexItem) => (
|
||||
getFloorMatchKeys(floor).some((key) => {
|
||||
getFloorSortLevel(floor) === 1
|
||||
|| getFloorMatchKeys(floor).some((key) => {
|
||||
const normalizedKey = normalizeModelMatchKey(key)
|
||||
return normalizedKey === 'l1' || normalizedKey === '1f'
|
||||
})
|
||||
|
||||
@@ -345,6 +345,7 @@ import type {
|
||||
MuseumHall,
|
||||
MuseumPoi
|
||||
} from '@/domain/museum'
|
||||
import { getFloorSortLevel } from '@/domain/guideFloor'
|
||||
|
||||
type GuideIndoorView = 'overview' | 'floor' | 'multi'
|
||||
type LayerDisplayMode = 'single' | 'multi'
|
||||
@@ -583,7 +584,8 @@ const guideFloors = ref<MuseumFloor[]>([])
|
||||
const normalizeGuideFloorId = (labelOrId: string) => guideUseCase.normalizeFloorId(labelOrId)
|
||||
const getPreferredInitialGuideFloorId = (floors: MuseumFloor[]) => (
|
||||
floors.find((floor) => (
|
||||
normalizeGuideFloorId(floor.id) === 'L1'
|
||||
getFloorSortLevel(floor) === 1
|
||||
|| normalizeGuideFloorId(floor.id) === 'L1'
|
||||
|| normalizeGuideFloorId(floor.label) === 'L1'
|
||||
))?.id
|
||||
|| floors[0]?.id
|
||||
|
||||
@@ -366,17 +366,17 @@ describe('首页搜索与地图闭环', () => {
|
||||
it('楼层数据按高到低返回时,首次进入仍将 1F 作为自动缩放的默认目标', async () => {
|
||||
const originalFloors = [...floors]
|
||||
floors.splice(0, floors.length,
|
||||
{ id: 'L5', label: '5F', order: 5 },
|
||||
{ id: 'L2', label: '2F', order: 2 },
|
||||
{ id: 'L1', label: '1F', order: 1 }
|
||||
{ id: 'F5', label: 'F5', order: 5 },
|
||||
{ id: 'F2', label: 'F2', order: 2 },
|
||||
{ id: 'F1', label: 'F1', order: 1 }
|
||||
)
|
||||
|
||||
try {
|
||||
const wrapper = await mountIndex()
|
||||
const map = wrapper.getComponent(GuideMapShellStub)
|
||||
|
||||
expect(map.props('activeFloor')).toBe('L1')
|
||||
expect(wrapper.getComponent(PoiSearchPanelStub).props('currentFloorId')).toBe('L1')
|
||||
expect(map.props('activeFloor')).toBe('F1')
|
||||
expect(wrapper.getComponent(PoiSearchPanelStub).props('currentFloorId')).toBe('F1')
|
||||
} finally {
|
||||
floors.splice(0, floors.length, ...originalFloors)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user