From 539ba7d5d2ea68b6764b5a3429de5d7e0515b1ec Mon Sep 17 00:00:00 2001 From: wxs <211789910@qq.com> Date: Sun, 8 Mar 2026 14:12:45 +0800 Subject: [PATCH 1/6] =?UTF-8?q?feat:=E4=BF=AE=E6=94=B9=E5=9B=BE=E7=89=87?= =?UTF-8?q?=E4=BA=AE=E5=BA=A6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../twin-situation/OrthoImageryManager.js | 6 +++--- .../views/home/components/twin-situation/index.js | 14 +++++++------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/OrthoImageryManager.js b/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/OrthoImageryManager.js index 7d3620b..001ffe6 100644 --- a/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/OrthoImageryManager.js +++ b/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/OrthoImageryManager.js @@ -18,7 +18,7 @@ export default class OrthoImageryManager { /** * 添加或更新新推送的图片 */ - add(data) { + add(data, brightness) { const key = `${data.jobId}-${data.uavId}~${data.fileId}`; // 已存在则跳过 @@ -39,7 +39,7 @@ export default class OrthoImageryManager { const layer = this.viewer.cesiumViewer.imageryLayers.addImageryProvider(provider); // ✅ 使用全局亮度和透明度,保证新图生效 - layer.brightness = this.globalBrightness; + layer.brightness = brightness ? brightness : this.globalBrightness; layer.alpha = this.globalAlpha; this.layerMap.set(key, layer); @@ -52,7 +52,7 @@ export default class OrthoImageryManager { * 设置全局亮度,影响所有已有图片和未来新推送的图片 */ setBrightness(value) { - this.globalBrightness = value; + // this.globalBrightness = value; this.layerMap.forEach(layer => { layer.brightness = value; }); diff --git a/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js b/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js index d202725..9ef3266 100644 --- a/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js +++ b/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js @@ -581,10 +581,10 @@ export default { onLightChange: debounce(function (val) { const imageInfos = { ...this.imageInfos } orthoManager.setBrightness(val / 10) - execBrightnessexport(imageInfos).then(res => { - console.log('亮度调整成功'); - // this.$message.success('亮度调整成功') - }) + // execBrightnessexport(imageInfos).then(res => { + // console.log('亮度调整成功'); + // // this.$message.success('亮度调整成功') + // }) }, 500), // startTest() { // let testHeight = 1000 @@ -2818,10 +2818,10 @@ export default { handleWebsocketImage(info) { // console.log('SAR图像', info.body) let data = JSON.parse(info.body) - this.imageInfos = Object.assign({}, this.imageInfos, data) - this.imageInfos.brightness = data.brightness + // this.imageInfos = Object.assign({}, this.imageInfos, data) + // this.imageInfos.brightness = data.brightness console.log('SAR图像2', data) - orthoManager.add(data) + orthoManager.add(data, this.imageInfos.brightness) // this.addMarkPicture2(data) // console.log('灭有匹配到吗taskUavCollection', taskUavCollection, taskUavCollection[data.jobId]) // if (taskUavCollection[data.jobId]) { From 88249dcd83e1c8ed5e7387dba478ee9817d7f3b6 Mon Sep 17 00:00:00 2001 From: wxs <211789910@qq.com> Date: Sun, 8 Mar 2026 15:11:03 +0800 Subject: [PATCH 2/6] =?UTF-8?q?feat:=E8=AE=BE=E7=BD=AE=E4=BA=AE=E5=BA=A6?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/Skyeye-sys-ui/src/lang/en.js | 2 + frontend/Skyeye-sys-ui/src/lang/zh.js | 10 ++-- .../home/components/task-manage/index.vue | 55 ++++++++++++++----- .../home/components/twin-situation/index.js | 2 +- 4 files changed, 49 insertions(+), 20 deletions(-) diff --git a/frontend/Skyeye-sys-ui/src/lang/en.js b/frontend/Skyeye-sys-ui/src/lang/en.js index ee3f91f..c847c02 100644 --- a/frontend/Skyeye-sys-ui/src/lang/en.js +++ b/frontend/Skyeye-sys-ui/src/lang/en.js @@ -175,6 +175,8 @@ export default { left: 'Left', right: 'Right', }, + uavline: "Airline", + createAirline: 'Create Airline', rules: { inputTaskName: 'Please enter task name', startAltitude: 'Please enter start altitude', diff --git a/frontend/Skyeye-sys-ui/src/lang/zh.js b/frontend/Skyeye-sys-ui/src/lang/zh.js index 3c22390..4047d55 100644 --- a/frontend/Skyeye-sys-ui/src/lang/zh.js +++ b/frontend/Skyeye-sys-ui/src/lang/zh.js @@ -170,6 +170,12 @@ export default { stopTaskConfirm: '确定要结束该任务吗?', stopTaskSuccess: '任务已结束!', planArea: '规划区域', + direction: { + left: '左侧视', + right: '右侧视', + }, + uavline: "航线", + createAirline: '创建航线', rules: { inputTaskName: '请输入任务名称', startAltitude: '请输入起飞点高度', @@ -219,10 +225,6 @@ export default { tip: '提示', radarEndSuccess: '雷达关机成功', deleteConfirm: '确定要删除该?', - direction: { - left: '左侧视', - right: '右侧视', - }, }, picture: { list: '影像列表', diff --git a/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.vue b/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.vue index 0369c82..55da3c3 100644 --- a/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.vue +++ b/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.vue @@ -8,7 +8,6 @@ }" icon="ri-list-unordered" :title="this.$t('task.taskList')" - :visible.sync="taskList.visible" :scroll="false" :showClose="false" @@ -94,9 +93,15 @@ - {{ $t('task.editName') }} - {{ $t('task.copy') }} - {{ $t('task.delete') }} + {{ + $t('task.editName') + }} + {{ + $t('task.copy') + }} + {{ + $t('task.delete') + }} @@ -233,9 +238,11 @@ - +
-
{{ $t('task.createAirline') }}
+
+ {{ $t('task.createAirline') }} +
- + - + {{ $t('common.preview') }} - {{ $t('common.save') }} + {{ + $t('common.save') + }}
@@ -540,15 +555,25 @@
- - - + + + + + - - - + + + + + diff --git a/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js b/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js index 9ef3266..69a8da2 100644 --- a/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js +++ b/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js @@ -2821,7 +2821,7 @@ export default { // this.imageInfos = Object.assign({}, this.imageInfos, data) // this.imageInfos.brightness = data.brightness console.log('SAR图像2', data) - orthoManager.add(data, this.imageInfos.brightness) + orthoManager.add(data, this.imageInfos.brightness / 10) // this.addMarkPicture2(data) // console.log('灭有匹配到吗taskUavCollection', taskUavCollection, taskUavCollection[data.jobId]) // if (taskUavCollection[data.jobId]) { From be4bf038c162e4b367fef0933ab14ff65df4c438 Mon Sep 17 00:00:00 2001 From: wxs <211789910@qq.com> Date: Sun, 8 Mar 2026 15:39:18 +0800 Subject: [PATCH 3/6] =?UTF-8?q?feat:=E4=BA=AE=E5=BA=A6=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/components/twin-situation/index.js | 12 ++++--- .../home/components/twin-situation/index.vue | 35 ++++++++++++------- 2 files changed, 30 insertions(+), 17 deletions(-) diff --git a/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js b/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js index 69a8da2..72d75bd 100644 --- a/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js +++ b/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js @@ -375,7 +375,7 @@ export default { lightPercent: 0, contrastPercent: 10, imageInfos: { - brightness: 10 + brightness: 1 }, } }, @@ -487,7 +487,7 @@ export default { // ) orthoManager = new OrthoImageryManager(viewer, DT.Cesium, { maxLayers: 400, - brightness: 1.2, // 默认亮度 + brightness: 1, // 默认亮度 alpha: 1.0 // 默认透明度 }) // this.startTest() @@ -580,7 +580,7 @@ export default { // 亮度设置变化 onLightChange: debounce(function (val) { const imageInfos = { ...this.imageInfos } - orthoManager.setBrightness(val / 10) + orthoManager.setBrightness(val) // execBrightnessexport(imageInfos).then(res => { // console.log('亮度调整成功'); // // this.$message.success('亮度调整成功') @@ -2821,7 +2821,7 @@ export default { // this.imageInfos = Object.assign({}, this.imageInfos, data) // this.imageInfos.brightness = data.brightness console.log('SAR图像2', data) - orthoManager.add(data, this.imageInfos.brightness / 10) + orthoManager.add(data, this.imageInfos.brightness) // this.addMarkPicture2(data) // console.log('灭有匹配到吗taskUavCollection', taskUavCollection, taskUavCollection[data.jobId]) // if (taskUavCollection[data.jobId]) { @@ -3040,6 +3040,10 @@ export default { viewer.entities.remove(item) } }) + if (orthoManager) { + orthoManager.clearAll() + orthoManager = null + } } if (data.jobStatus === 1 && this.detailUav.id === data.jobId) { this.updateUavInfo(data.sarStatus) diff --git a/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.vue b/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.vue index b6293dd..37b4d19 100644 --- a/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.vue +++ b/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.vue @@ -14,7 +14,7 @@
@@ -91,9 +91,9 @@
- {{ $t('task.temperature') }}:{{ weatherInfo2.wendu }} + {{ $t('task.temperature') }}:{{ weatherInfo2.wendu }}
- {{ $t('task.humidity') }}:{{ weatherInfo2.shidu }} + {{ $t('task.humidity') }}:{{ weatherInfo2.shidu }}
- {{ $t('task.airQuality') }}:{{ weatherInfo2.quality }} + {{ $t('task.airQuality') }}:{{ weatherInfo2.quality }}
- {{ $t('task.pm25') }}:{{ weatherInfo2.pm25 }} + {{ $t('task.pm25') }}:{{ weatherInfo2.pm25 }}
- {{ $t('task.pm10') }}:{{ weatherInfo2.pm10 }} + {{ $t('task.pm10') }}:{{ weatherInfo2.pm10 }}
@@ -340,14 +345,18 @@
- - + + + + - - + + + + From f4bbb14ab0cd629fa5b4f0197332fe86745b5330 Mon Sep 17 00:00:00 2001 From: wxs <211789910@qq.com> Date: Sun, 8 Mar 2026 16:06:21 +0800 Subject: [PATCH 4/6] =?UTF-8?q?feat:=E8=AE=BE=E7=BD=AE=E4=BA=AE=E5=BA=A6?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/home/components/twin-situation/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js b/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js index 72d75bd..4aed69b 100644 --- a/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js +++ b/frontend/Skyeye-sys-ui/src/views/home/components/twin-situation/index.js @@ -375,7 +375,7 @@ export default { lightPercent: 0, contrastPercent: 10, imageInfos: { - brightness: 1 + brightness: 5 }, } }, From 6764c7bfe10719b9c1188155c493082692e4a05e Mon Sep 17 00:00:00 2001 From: Bingkun Li Date: Sun, 8 Mar 2026 16:05:37 +0800 Subject: [PATCH 5/6] Remove adjusting brightness in backend --- .../main/java/com/zhangy/skyeye/publics/utils/ImageUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/ImageUtil.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/ImageUtil.java index 2374539..03b9f1c 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/ImageUtil.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/ImageUtil.java @@ -45,7 +45,7 @@ public class ImageUtil { int lightRate = rotateDTO.getLightRate(); if (lightRate != 0) { //OpenCVUtil.multiply(image, lightRate); - OpenCVUtil.enhanceContrast(image, lightRate, 0); + // OpenCVUtil.enhanceContrast(image, lightRate, 0); } return image; } From 460af8d011d3612b72a46732efc595e96e7661f1 Mon Sep 17 00:00:00 2001 From: Bingkun Li Date: Mon, 9 Mar 2026 10:47:07 +0800 Subject: [PATCH 6/6] Remove join image func, push each image to frontend directly --- .../sar/service/impl/SarImageServiceImpl.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/service/impl/SarImageServiceImpl.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/service/impl/SarImageServiceImpl.java index b08d0ea..d13b8d1 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/service/impl/SarImageServiceImpl.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/service/impl/SarImageServiceImpl.java @@ -67,7 +67,8 @@ public class SarImageServiceImpl implements ISarImageService { * @param frameNo 当前帧号 * @return 返回非空的图像信息,其字段 imageNo 一定有值 */ - private JmImage getBaseImage(Long airlineId, int singleWidth, int frameNo) {IMG_MAX_WITH=1; + private JmImage getBaseImage(Long airlineId, int singleWidth, int frameNo) { + // IMG_MAX_WITH=1; List imageList = imageService.selectLowByAirline(airlineId); String cacheKey = "jmImgJoin-" + airlineId; JmImage base = null; @@ -80,17 +81,18 @@ public class SarImageServiceImpl implements ISarImageService { } // 情况2:如果最后一张还能拼图,则直接返回继续拼 JmImage last = imageList.get(imageList.size() - 1); - Integer startFrameNo = (Integer) redisUtil.hget(cacheKey, CACHE_FIELD_START_FRAME_NO); - int currWidth = startFrameNo == null ? 0 : singleWidth * (frameNo - startFrameNo + 1); // 图宽(当前图+基准图) - int surplusNum = (IMG_MAX_WITH - currWidth) / singleWidth; // 还可以拼图片数 - Integer baseNo = (Integer) redisUtil.hget("jmImgJoin-" + airlineId, CACHE_FIELD_CURR_FRAME_NO); - if (startFrameNo == null || currWidth < IMG_MAX_WITH || - baseNo == null || (frameNo - baseNo + 1 <= surplusNum)) { // 当前图+填充 不能超过允许拼接数 - log.info("当前宽度:" + currWidth + " < " + IMG_MAX_WITH + " 可以继续拼接"); - return last; - } +// Integer startFrameNo = (Integer) redisUtil.hget(cacheKey, CACHE_FIELD_START_FRAME_NO); +// int currWidth = startFrameNo == null ? 0 : singleWidth * (frameNo - startFrameNo + 1); // 图宽(当前图+基准图) +// int surplusNum = (IMG_MAX_WITH - currWidth) / singleWidth; // 还可以拼图片数 +// log.info("surplusNum: = " + surplusNum); +// Integer baseNo = (Integer) redisUtil.hget("jmImgJoin-" + airlineId, CACHE_FIELD_CURR_FRAME_NO); +// if (startFrameNo == null || currWidth < IMG_MAX_WITH || +// baseNo == null || (frameNo - baseNo + 1 <= surplusNum)) { // 当前图+填充 不能超过允许拼接数 +// log.info("当前宽度:" + currWidth + " < " + IMG_MAX_WITH + " 可以继续拼接"); +// return last; +// } // 情况3:已经拼接到最大数量,或者当前图+填充数量超过允许拼接数量,创建新图像文件 - log.info("当前宽度:" + currWidth + " > " + IMG_MAX_WITH + " 重新拼接,当前帧号" + frameNo + "作为首帧"); +// log.info("当前宽度:" + currWidth + " > " + IMG_MAX_WITH + " 重新拼接,当前帧号" + frameNo + "作为首帧"); base = new JmImage(); redisUtil.hset(cacheKey, CACHE_FIELD_START_FRAME_NO, frameNo, CACHE_EXPIRE_SECOND); base.setImageNo(last.getImageNo() + 1);