From 6f2259547e731f1498611fe51366883d86c47a1a Mon Sep 17 00:00:00 2001 From: Zzc <1373857752@qq.com> Date: Tue, 25 Nov 2025 09:35:28 +0800 Subject: [PATCH] =?UTF-8?q?refactor(3d-situational-awareness):=20=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E5=8C=96=E4=B8=BA=E5=8F=AF=E7=BB=84=E5=90=88=E6=9E=B6?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将功能提取到专用的可组合项中(useCesiumLifecycle、useEmergencyDispatch、useMapClickHandler、useMockData、usePathLines、useRangeCircle) - 将常量分离到有组织的文件中(坐标、模拟数据、相机预设) - 添加TypeScript类型定义以提高类型安全性 - 重构主组件以使用可组合模式,提高可维护性和性能 - 更新路由器和组件以支持新架构 --- packages/screen/src/router/index.js | 3 +- .../assets/images/IMAGE_MAPPING.md | 13 + .../components/MapViewer/MapControls.vue | 6 +- .../composables/useCesiumLifecycle.js | 179 ++ .../composables/useDualMapCompare.js | 70 +- .../composables/useEmergencyDispatch.js | 175 ++ .../composables/useMapClickHandler.js | 316 ++++ .../composables/useMapMarkers.js | 6 +- .../composables/useMapTooltip.js | 128 +- .../composables/useMockData.js | 175 ++ .../composables/usePathLines.js | 143 ++ .../composables/useRangeCircle.js | 114 ++ .../constants/cameraPresets.js | 51 + .../constants/coordinates.js | 59 + .../{constants.js => constants/index.js} | 59 +- .../constants/mockData.js | 230 +++ .../3DSituationalAwarenessRefactor/index.vue | 1685 +++++------------ .../types/index.ts | 247 +++ 18 files changed, 2425 insertions(+), 1234 deletions(-) create mode 100644 packages/screen/src/views/3DSituationalAwarenessRefactor/composables/useCesiumLifecycle.js create mode 100644 packages/screen/src/views/3DSituationalAwarenessRefactor/composables/useEmergencyDispatch.js create mode 100644 packages/screen/src/views/3DSituationalAwarenessRefactor/composables/useMapClickHandler.js create mode 100644 packages/screen/src/views/3DSituationalAwarenessRefactor/composables/useMockData.js create mode 100644 packages/screen/src/views/3DSituationalAwarenessRefactor/composables/usePathLines.js create mode 100644 packages/screen/src/views/3DSituationalAwarenessRefactor/composables/useRangeCircle.js create mode 100644 packages/screen/src/views/3DSituationalAwarenessRefactor/constants/cameraPresets.js create mode 100644 packages/screen/src/views/3DSituationalAwarenessRefactor/constants/coordinates.js rename packages/screen/src/views/3DSituationalAwarenessRefactor/{constants.js => constants/index.js} (51%) create mode 100644 packages/screen/src/views/3DSituationalAwarenessRefactor/constants/mockData.js create mode 100644 packages/screen/src/views/3DSituationalAwarenessRefactor/types/index.ts diff --git a/packages/screen/src/router/index.js b/packages/screen/src/router/index.js index 8b66e8f..564bfd5 100644 --- a/packages/screen/src/router/index.js +++ b/packages/screen/src/router/index.js @@ -48,7 +48,8 @@ const routes = [ path: '/3DSituationalAwareness', name: '3DSituationalAwareness', meta: { - screen: true + screen: true, + skipInitialCameraView: true // 跳过MapViewport的自动初始视图,由页面自己控制相机 }, component: () => import('../views/3DSituationalAwarenessRefactor/index.vue') } diff --git a/packages/screen/src/views/3DSituationalAwarenessRefactor/assets/images/IMAGE_MAPPING.md b/packages/screen/src/views/3DSituationalAwarenessRefactor/assets/images/IMAGE_MAPPING.md index de6c6dc..f44d3d3 100644 --- a/packages/screen/src/views/3DSituationalAwarenessRefactor/assets/images/IMAGE_MAPPING.md +++ b/packages/screen/src/views/3DSituationalAwarenessRefactor/assets/images/IMAGE_MAPPING.md @@ -44,3 +44,16 @@ video-placeholder.png -> SketchPngb3b734375de691a8ba794eee7807988d78f942877ab220 ## 调度建议 suggestion-icon.png -> SketchPng08ea47fd72e32082154366a0cbcd9a701074a835d3bae2eb9237b81b2ae775a6.png suggestion-bg.png -> SketchPng84e383eb0cfecb67b9a0068cf2c81514a13efe72d2ac102b28c4739dfd5bacf6.png + +## 视频弹窗(VideoModal) +video-control-megaphone.png -> SketchPngb86960bc4bc265d41dd03a8ed7c4b084ccd30fc7752088f3d2baad4a44f88489.png (喊话按钮) +video-control-sound.png -> sound.png (声音按钮) +video-control-zoom.png -> SketchPngb9171160837b0b4a4cdb277aca92389cebb62399608ed3a54dcbf23d0d2d3cac.png (放大按钮) +video-modal-close.png -> SketchPngf4cb9473415706d94e50d55177de9ed164db9069c3f3edbb335dcf024c256079.png (关闭按钮) +video-control-left.png -> SketchPng71c4b50fd627cc955d56e657283137361fc216fad2fcb9affeeaaf01b5e3c42e.png (左移) +video-control-right.png -> SketchPng26e936be527abaab4e5b33e1f766c40c1cc5158017be8ea6d500855e5140ff7e.png (右移) +video-control-up.png -> SketchPnge0ff29f6a2cb4a26ebd039f7f58582dbc374f394dc30f74075b7b4e54936ad07.png (上移) +video-control-down.png -> SketchPng0c55ea03b39c80c7bd871acc9717b47a6e59c01173e8411d0d57619ac7aeda3c.png (下移) +video-control-console.png -> 操作台.png (操作台背景) +video-control-shrink.png -> 缩小.png (缩小按钮) +video-modal-title-bg.png -> titlebg.png (弹窗标题背景) diff --git a/packages/screen/src/views/3DSituationalAwarenessRefactor/components/MapViewer/MapControls.vue b/packages/screen/src/views/3DSituationalAwarenessRefactor/components/MapViewer/MapControls.vue index 8c195ab..b4d094c 100644 --- a/packages/screen/src/views/3DSituationalAwarenessRefactor/components/MapViewer/MapControls.vue +++ b/packages/screen/src/views/3DSituationalAwarenessRefactor/components/MapViewer/MapControls.vue @@ -42,13 +42,13 @@