From f436ff5c1780415eedfd18f08044eb1dd35e7d9c Mon Sep 17 00:00:00 2001 From: Andy Yang <10339434@qq.com> Date: Thu, 5 Feb 2026 13:45:12 +0800 Subject: [PATCH 1/3] bug: ticket#11, notify frontend when manually stop task --- .../skyeye/jm/service/impl/JmJobServiceImpl.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/service/impl/JmJobServiceImpl.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/service/impl/JmJobServiceImpl.java index 5e76e0f..7a53212 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/service/impl/JmJobServiceImpl.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/service/impl/JmJobServiceImpl.java @@ -25,6 +25,7 @@ import com.zhangy.skyeye.kmz.KmzGen; import com.zhangy.skyeye.publics.consts.ExecStatusEnum; import com.zhangy.skyeye.publics.consts.FileTypeEnum; import com.zhangy.skyeye.publics.consts.UavAirlineUploadEnum; +import com.zhangy.skyeye.publics.consts.WebSocketKey; import com.zhangy.skyeye.publics.service.SysFileTypeService; import com.zhangy.skyeye.publics.utils.CoordUtil; import com.zhangy.skyeye.py.service.IPyAirlineService; @@ -39,6 +40,7 @@ import com.zhangy.skyeye.sar.service.ISarMtiPointService; import com.zhangy.skyeye.sar.service.ISarMtiTrailService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.messaging.simp.SimpMessagingTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -82,6 +84,8 @@ public class JmJobServiceImpl implements JmJobService { private QuartzService quartzService; @Autowired private JmAirlinePlanService jmAirlinePlanService; + @Autowired + private SimpMessagingTemplate simpMessagingTemplate; @Override public IPage selectPage(JmJobPageDTO param) { @@ -454,6 +458,12 @@ public class JmJobServiceImpl implements JmJobService { sarControlService.sendUdp(controlParam); // 标记缓存状态,确保断连重新发送请求时不会重复执行 // uav.setSarStatus(ExecStatusEnum.OVER); + + // 只会通知一次? + // 通知前端任务停止 + JmJobStatusWsDTO wsVo = new JmJobStatusWsDTO(id, uav.getUavId()); + wsVo.setJobStatus(ExecStatusEnum.OVER.getValue()); + simpMessagingTemplate.convertAndSend(WebSocketKey.JM_JOB_STATUS, wsVo); }); // 删除缓存任务信息 jobStatusService.remove(id); From 83690ce04911f7f020754ca50c37616c48852bdd Mon Sep 17 00:00:00 2001 From: longguancheng Date: Thu, 5 Feb 2026 13:59:54 +0800 Subject: [PATCH 2/3] fix readme --- README.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/README.md b/README.md index 7281c80..4410373 100644 --- a/README.md +++ b/README.md @@ -110,3 +110,29 @@ npx update-browserslist-db@latest ``` ## 4. 在浏览器中打开主页,localhost:8080, 默认用户名密码为:admin/123 +# 前端nginx启动 + +## 1.执行build +PS D:\IdeaProjects\skyeyesystem\frontend\Skyeye-sys-ui> npm run build + +出现错误的执行 +PS D:\IdeaProjects\skyeyesystem\frontend\Skyeye-sys-ui> npm install babel-plugin-transform-remove-console --save-dev + +出现版本node.js太大问题 +1.降低版本 +2."scripts": { +"serve": "cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service serve", +"build": "cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service build", +"lint": "vue-cli-service lint" +} + +## 2. 拷贝resource目录中的dt-sdk到node-modules目录 + +## 3.继续build +PS D:\IdeaProjects\skyeyesystem\frontend\Skyeye-sys-ui> npm run build + +## 4.然后到nginx-conf目录下修改配置文件nginx.conf的启动路径 +root "D:/IdeaProjects/skyeyesystem/frontend/Skyeye-sys-ui/dist"; + +## 5.回到nginx目录下cmd 执行.\nginx.exe + From 1e019bcdabcb49500bc145ce531f28a4a835bcf6 Mon Sep 17 00:00:00 2001 From: Andy Yang <10339434@qq.com> Date: Thu, 5 Feb 2026 14:21:38 +0800 Subject: [PATCH 3/3] bug: wave3: ticket#7, reference opencv dll from relative library path. --- .../jm/controller/JmImageController.java | 17 ++------------- .../skyeye/publics/utils/ImageUtil.java | 3 ++- .../skyeye/publics/utils/OpenCVUtil.java | 21 ++++++++++++++++++- 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/controller/JmImageController.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/controller/JmImageController.java index 74ff9d7..66d8183 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/controller/JmImageController.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/controller/JmImageController.java @@ -10,6 +10,7 @@ import com.zhangy.skyeye.jm.dto.JmJobImageDTO; import com.zhangy.skyeye.jm.entity.JmImage; import com.zhangy.skyeye.jm.service.JmImageService; import com.zhangy.skyeye.publics.consts.FileTypeEnum; +import com.zhangy.skyeye.publics.utils.OpenCVUtil; import org.opencv.core.Core; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; @@ -138,21 +139,7 @@ public class JmImageController { } static { //System.loadLibrary(Core.NATIVE_LIBRARY_NAME); - //加载 OpenCV (强制使用绝对路径加载,解决 UnsatisfiedLinkError) - String openCvDll = System.getProperty("opencv.library.path") + File.separator + Core.NATIVE_LIBRARY_NAME + ".dll"; - try { - File dllFile = new File(openCvDll); - if (dllFile.exists()) { - // 注意:必须使用 System.load() 加载绝对路径 - System.load(dllFile.getAbsolutePath()); - System.out.println("SUCCESS: OpenCV loaded from -> " + dllFile.getAbsolutePath()); - } else { - System.err.println("ERROR: OpenCV DLL not found at -> " + openCvDll); - } - } catch (Throwable e) { - System.err.println("CRITICAL: Failed to load OpenCV: " + e.getMessage()); - e.printStackTrace(); - } + OpenCVUtil.loadNativeDylib(); } /*@IgnoreAuth 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 7655c23..2374539 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 @@ -24,7 +24,8 @@ import java.util.List; public class ImageUtil { static { - System.loadLibrary(Core.NATIVE_LIBRARY_NAME); + //System.loadLibrary(Core.NATIVE_LIBRARY_NAME); + OpenCVUtil.loadNativeDylib(); } /** diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/OpenCVUtil.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/OpenCVUtil.java index bf2b94c..632e9a6 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/OpenCVUtil.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/publics/utils/OpenCVUtil.java @@ -19,7 +19,26 @@ import java.util.List; public class OpenCVUtil { static { - System.loadLibrary(Core.NATIVE_LIBRARY_NAME); + //System.loadLibrary(Core.NATIVE_LIBRARY_NAME); + loadNativeDylib(); + } + + public static void loadNativeDylib() { + //加载 OpenCV (强制使用绝对路径加载,解决 UnsatisfiedLinkError) + String openCvDll = System.getProperty("opencv.library.path") + File.separator + Core.NATIVE_LIBRARY_NAME + ".dll"; + try { + File dllFile = new File(openCvDll); + if (dllFile.exists()) { + // 注意:必须使用 System.load() 加载绝对路径 + System.load(dllFile.getAbsolutePath()); + System.out.println("SUCCESS: OpenCV loaded from -> " + dllFile.getAbsolutePath()); + } else { + System.err.println("ERROR: OpenCV DLL not found at -> " + openCvDll); + } + } catch (Throwable e) { + System.err.println("CRITICAL: Failed to load OpenCV: " + e.getMessage()); + e.printStackTrace(); + } } /**