chore: freeze guide and explain update

This commit is contained in:
lyf
2026-06-24 18:00:25 +08:00
parent feb7310a46
commit 67c6609ae6
104 changed files with 3203572 additions and 40713 deletions

View File

@@ -13,8 +13,11 @@
search-top="60px"
mode-top="104px"
floor-top="208px"
tools-top="450px"
:tools="['回正', '2D']"
tools-top="176px"
:active-mode="activeMode"
:active-floor="activeFloor"
:map-type="activeMode === '2d' ? 'outdoor' : 'indoor'"
:tools="mapTools"
:indoor-model-source="indoorModelSource"
:floors="guideFloors"
:normalize-floor-id="normalizeGuideFloorId"
@@ -31,7 +34,7 @@
<view class="detail-lines">
<text class="detail-line">所在区域{{ facility.location }}</text>
<text class="detail-line">最近垂直交通{{ facility.traffic }}</text>
<text class="detail-line">能力说明{{ facility.traffic }}</text>
<text v-if="confirmedStart" class="detail-line">预览起点{{ confirmedStart.label }}</text>
</view>
@@ -67,7 +70,7 @@
@tap.stop=""
>
<text class="start-select-title">选择预览起点</text>
<text class="start-select-desc">当前仅用于位置预览不生成真实馆内路线</text>
<text class="start-select-desc">当前支持选择预览起点用于三维位置预览</text>
<view class="start-chip-section">
<text class="start-chip-label">楼层</text>
@@ -141,20 +144,23 @@ interface ConfirmedStart {
const indoorModelSource = guideUseCase.getModelSource()
const guideFloors = ref<MuseumFloor[]>([])
const normalizeGuideFloorId = (labelOrId: string) => guideUseCase.normalizeFloorId(labelOrId)
const activeMode = ref<'2d' | '3d'>('3d')
const activeFloor = ref('1F')
const facility = ref<FacilityDetailViewModel>({
id: '',
name: '目标位置',
status: '可预览',
location: 'clean 导览数据点位',
traffic: guideUseCase.getRouteReadiness().message,
tags: ['三维位置', 'clean 数据']
location: '中心线路网导览点位',
traffic: guideUseCase.getRouteReadinessSnapshot().message,
tags: ['三维位置', '中心线路网']
})
const isStartPanelOpen = ref(false)
const selectedStartFloor = ref('1F')
const selectedStartArea = ref('服务台附近')
const confirmedStart = ref<ConfirmedStart | null>(null)
const startFloors = computed(() => guideFloors.value.map((floor) => floor.label))
const mapTools = computed(() => ['重置', activeMode.value === '2d' ? '3D' : '2D'])
const startAreas = ['主入口', '服务台附近', '停车场入口']
const pendingStartLabel = computed(() => `${selectedStartFloor.value} ${selectedStartArea.value}`)
@@ -179,10 +185,13 @@ const loadGuideFloors = async () => {
try {
const floors = await guideUseCase.getFloors()
guideFloors.value = floors
selectedStartFloor.value = floors.find((floor) => floor.label === selectedStartFloor.value)?.label
const defaultFloor = floors.find((floor) => floor.label === selectedStartFloor.value)?.label
|| floors.find((floor) => floor.id === 'L1')?.label
|| floors[0]?.label
|| selectedStartFloor.value
selectedStartFloor.value = defaultFloor
activeFloor.value = floors.find((floor) => floor.label === activeFloor.value)?.label
|| defaultFloor
} catch (error) {
console.error('加载导览楼层失败:', error)
guideFloors.value = []
@@ -203,15 +212,16 @@ onLoad(async (options: any) => {
if (!facility.value.id) return
try {
const routeReadiness = await guideUseCase.getRouteReadiness()
const poi = await guideUseCase.getPoiById(facility.value.id)
if (!poi) return
facility.value = toFacilityDetailViewModel(
poi,
guideUseCase.getRouteReadiness().message
routeReadiness.message
)
} catch (error) {
console.error('加载 clean 设施详情失败:', error)
console.error('加载中心线路网设施详情失败:', error)
}
})
@@ -271,15 +281,36 @@ const handleStartNavigation = () => {
}
const handleModeChange = (mode: '2d' | '3d') => {
console.log('设施详情切换导览模式:', mode)
activeMode.value = mode
uni.showToast({
title: mode === '2d' ? '已切换室外入口参考' : '已切换室内三维位置',
icon: 'none'
})
}
const handleFloorChange = (floor: string) => {
console.log('设施详情切换楼层:', floor)
activeFloor.value = floor
}
const handleToolClick = (tool: string) => {
console.log('设施详情工具:', tool)
if (tool === '2D') {
handleModeChange('2d')
return
}
if (tool === '3D') {
handleModeChange('3d')
return
}
if (tool === '重置') {
activeMode.value = '3d'
}
uni.showToast({
title: tool === '重置' ? '已回到三维位置预览' : '该工具暂未开放',
icon: 'none'
})
}
const handleTopTabChange = (tab: GuideTopTab) => {