@@ -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'
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user