From 4fdf6b0a5e26208a2e2cc3c58000318831e00931 Mon Sep 17 00:00:00 2001 From: wxs <211789910@qq.com> Date: Tue, 10 Mar 2026 16:51:07 +0800 Subject: [PATCH 1/5] =?UTF-8?q?ip=E5=8F=96=E5=80=BC=E6=9B=B4=E6=8D=A2?= 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 cca2fa8..dad00ed 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 @@ -1118,7 +1118,7 @@ export default { uav = item.uavList[0].uavName if (item.uavList[0].payloadList.length) { sar = item.uavList[0].payloadList[0].payloadName - ip = item.uavList[0].ip + ip = item.uavList[0].payloadList[0].ip } } list.push({ From d9bb2cee2b1d5721fcb67fda42cda9d770954d50 Mon Sep 17 00:00:00 2001 From: wxs <211789910@qq.com> Date: Tue, 10 Mar 2026 17:41:35 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=A0=E4=BA=BA?= =?UTF-8?q?=E6=9C=BA=E8=BD=A8=E8=BF=B9=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/components/twin-situation/index.js | 80 +++++++++++++------ 1 file changed, 57 insertions(+), 23 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 dad00ed..73bab2f 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 @@ -54,6 +54,7 @@ let sceneEntity = {} let taskListResource = [] let orthoManager = null let socketPositionIndex = 0 +let uavTracks = {} const lang = window.localStorage.getItem('locale') || 'zh_CN' export default { name: 'TwinSituation', @@ -481,6 +482,7 @@ export default { this.SET_SPLIT_VISIBLE(false) this.removePictureHandle() socketPositionIndex = 0 + uavTracks = {} if (orthoManager) { orthoManager.clearAll() orthoManager = null @@ -1099,6 +1101,7 @@ export default { let data = res.data.data let list = [] socketPositionIndex = 0 + uavTracks = {} data.forEach(item => { // item.check = item.status === 1 || item.status === 3 item.check = false @@ -1582,6 +1585,7 @@ export default { // } this.removeTaskTarget(info.id); socketPositionIndex = 0 + uavTracks = {} if (orthoManager) { orthoManager.clearAll() orthoManager = null @@ -1614,7 +1618,9 @@ export default { viewer.entities.remove(item) } }) + viewer.entities socketPositionIndex = 0 + uavTracks = {} if (orthoManager) { orthoManager.clearAll() orthoManager = null @@ -2786,51 +2792,78 @@ export default { this.updateSceneUav(data) }, updateSceneUav(data) { - console.log(data, 44444); + // 1. 坐标转换(建议添加异常处理,避免非法坐标) + if (!data.longitude || !data.latitude) { + console.warn('无人机坐标不完整', data); + return; + } + let position = DT.Cesium.Cartesian3.fromDegrees( + Number(data.longitude), + Number(data.latitude), + Number(data.altitude) || 0 // 高度默认0,避免undefined + ); + let uavId = 'uav-' + data.jobId; - let position = DT.Cesium.Cartesian3.fromDegrees(data.longitude, data.latitude, data.altitude) - let entity = viewer.entities.getById('uav-' + data.id) + // 2. 轨迹数组维护(过滤重复坐标,避免无长度轨迹) + if (uavTracks[uavId]) { + // 获取最后一个坐标,计算与新坐标的距离(小于1米则不添加) + const lastPos = uavTracks[uavId][uavTracks[uavId].length - 1]; + const distance = lastPos ? DT.Cesium.Cartesian3.distance(lastPos, position) : 0; + // 只有距离大于1米时才添加新坐标,避免高频重复 + if (distance > 1) { + uavTracks[uavId].push(position); + // 限制轨迹长度,避免数组过大(可选,比如最多保存1000个点) + if (uavTracks[uavId].length > 1000) { + uavTracks[uavId].shift(); + } + } + } else { + uavTracks[uavId] = [position]; + } + // 3. 获取/创建无人机实体 + let entity = viewer.entities.getById(uavId); if (entity) { - entity.position = position + entity.position = position; + // !关键:更新实体后主动触发Cesium重绘(部分版本需要) + viewer.scene.requestRender(); } else { entity = viewer.entities.add({ - id: 'uav-' + data.id, + id: uavId, position: position, label: { text: '无人机', font: '14px sans-serif', - fillColor: DT.Cesium.Color.WHITE, + fillColor: DT.Cesium.Color.RED, horizontalOrigin: DT.Cesium.HorizontalOrigin.LEFT, verticalOrigin: DT.Cesium.VerticalOrigin.CENTER, disableDepthTestDistance: 100000, - pixelOffset: new DT.Cesium.Cartesian2(10, 0), showBackground: true, scaleByDistance: new DT.Cesium.NearFarScalar(0, 1, 1, 0.8), - distanceDisplayCondition: new DT.Cesium.DistanceDisplayCondition(0, 20000), - backgroundColor: DT.Cesium.Color.fromCssColorString('rgba(0,0,0,0.7)'), - style: DT.Cesium.LabelStyle.FILL_AND_OUTLINE, + distanceDisplayCondition: new DT.Cesium.DistanceDisplayCondition(0, 10000), + backgroundColor: DT.Cesium.Color.fromCssColorString('rgba(255,255,255,0.6)'), + pixelOffset: new DT.Cesium.Cartesian2(10, -15), }, model: { uri: process.env.BASE_URL + 'model/uav.gltf', minimumPixelSize: 64, maximumScale: 128, }, - // point: { - // pixelSize: 40, - // color: DT.Cesium.Color.RED, - // disableDepthTestDistance: 10000 - // }, polyline: { - positions: new DT.Cesium.CallbackProperty(function () { - return this.positions + // 修复:绑定uavId到回调作用域,避免丢失 + positions: new DT.Cesium.CallbackProperty(() => { + return uavTracks[uavId] || []; }, false), - width: 8, - zIndex: 600, - material: DT.Cesium.Color.BLACK, - depthFailMaterial: DT.Cesium.Color.CYAN, - arcType: DT.Cesium.ArcType.NONE + width: 2, // 线宽加大,更容易观察 + zIndex: 600, // 提高层级,避免被其他元素覆盖 + material: DT.Cesium.Color.fromCssColorString('#1fe46b'), // 半透明,更易见 + depthFailMaterial: DT.Cesium.Color.CYAN.withAlpha(0.8), + arcType: DT.Cesium.ArcType.NONE, // 关键:添加直线轨迹配置 + disableDepthTestDistance: Number.POSITIVE_INFINITY, // 永不被遮挡 + distanceDisplayCondition: new DT.Cesium.DistanceDisplayCondition(0, 50000), // 扩大显示范围 + clampToGround: false, // 不贴地,跟随无人机高度 + show: true // 显式开启,避免默认隐藏 } - }) + }); } }, handleWebsocketWave(info) { @@ -3090,6 +3123,7 @@ export default { } }) socketPositionIndex = 0 + uavTracks = {} if (orthoManager) { orthoManager.clearAll() orthoManager = null From 1ee68c6f9be0c3863b4e77240df92c917fb323c8 Mon Sep 17 00:00:00 2001 From: wxs <211789910@qq.com> Date: Wed, 11 Mar 2026 10:38:13 +0800 Subject: [PATCH 3/5] =?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/OrthoImageryManager.js | 6 +++--- .../src/views/home/components/twin-situation/index.js | 6 ++---- 2 files changed, 5 insertions(+), 7 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 1c5accb..4c5df99 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 @@ -11,7 +11,7 @@ export default class OrthoImageryManager { this.maxLayers = options.maxLayers || 400; // 全局亮度与透明度 - this.globalBrightness = options.brightness ?? 1.0; + this.globalBrightness = options.brightness ?? 2; this.globalAlpha = options.alpha ?? 1.0; } @@ -39,7 +39,7 @@ export default class OrthoImageryManager { const layer = this.viewer.cesiumViewer.imageryLayers.addImageryProvider(provider); // ✅ 使用全局亮度和透明度,保证新图生效 - layer.brightness = brightness ? brightness : this.globalBrightness; + layer.brightness = this.globalBrightness; console.log(layer.brightness, '新增图片时的亮度值'); layer.alpha = this.globalAlpha; @@ -54,7 +54,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 73bab2f..cdeb0a5 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 @@ -473,7 +473,7 @@ export default { // ) orthoManager = new OrthoImageryManager(viewer, DT.Cesium, { maxLayers: 400, - brightness: 1, // 默认亮度 + brightness: 5, // 默认亮度 alpha: 1.0 // 默认透明度 }) // this.startTest() @@ -2824,8 +2824,6 @@ export default { let entity = viewer.entities.getById(uavId); if (entity) { entity.position = position; - // !关键:更新实体后主动触发Cesium重绘(部分版本需要) - viewer.scene.requestRender(); } else { entity = viewer.entities.add({ id: uavId, @@ -2903,7 +2901,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.addMarkPicture2(data) // console.log('灭有匹配到吗taskUavCollection', taskUavCollection, taskUavCollection[data.jobId]) // if (taskUavCollection[data.jobId]) { From 2839793fec8e9be15253cd972388749dc67967fa Mon Sep 17 00:00:00 2001 From: longguancheng Date: Wed, 11 Mar 2026 17:43:03 +0800 Subject: [PATCH 4/5] Optimize some code and logs --- .../jm/service/impl/JmJobServiceImpl.java | 4 +- .../skyeye/jm/task/JmTaskScheduler.java | 2 +- .../skyeye/sar/control/SarControlContext.java | 54 ++++++++++--------- .../skyeye/sar/listen/SarStatusListener.java | 7 +-- .../service/impl/SarControlServiceImpl.java | 5 +- 5 files changed, 37 insertions(+), 35 deletions(-) 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 fdb87a8..ca82b77 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 @@ -28,7 +28,6 @@ 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; import com.zhangy.skyeye.quartz.service.QuartzService; import com.zhangy.skyeye.sar.consts.SarImageModeEnum; import com.zhangy.skyeye.sar.dto.SarControlParamDTO; @@ -353,7 +352,7 @@ public class JmJobServiceImpl implements JmJobService { JmJobUav uav = job.getUavList().get(0); List airlineList = uav.getAirlineList(); - for(JmAirline airline:airlineList) { + for (JmAirline airline : airlineList) { log.info("we are going to start job {}", job.getId()); log.info("airline origin status is {}, set to {}", airline.getStatus(), ExecStatusEnum.NOT); airline.setStatus(ExecStatusEnum.NOT.getValue()); @@ -377,6 +376,7 @@ public class JmJobServiceImpl implements JmJobService { // 4.任务状态放入缓存 jobStatusService.add(job); } catch (Throwable ex) { + log.warn("{}", ex.getMessage(), ex); jobStatusService.remove(job.getId()); throw ex; } diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/task/JmTaskScheduler.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/task/JmTaskScheduler.java index 04b0997..484f554 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/task/JmTaskScheduler.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/jm/task/JmTaskScheduler.java @@ -129,7 +129,7 @@ public class JmTaskScheduler { controlInfoService.sendUdp(sar.getIp(), SarControlTypeEnum.CONNECT); } catch (SarConnectException ex) { // sar可能没通电,连接失败不做处理 - log.warn("连接雷达[" + sar.getIp() + "]失败:" + ex.getMessage()); +// log.warn("连接雷达[" + sar.getIp() + "]失败:" + ex.getMessage()); } } }); diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/control/SarControlContext.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/control/SarControlContext.java index 230a7fa..bc35b1f 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/control/SarControlContext.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/control/SarControlContext.java @@ -24,6 +24,7 @@ import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetSocketAddress; import java.util.List; +import java.util.Objects; import java.util.stream.Collectors; /** @@ -78,9 +79,11 @@ public class SarControlContext { * @param param */ public void execute(SarControlParamDTO param) { + log.info("execute :{}",JSON.toJSONString(param)); List matchedStrategys = strategies.stream() .filter(strategy -> strategy.supports(param)) .collect(Collectors.toList()); + log.info("matchedStrategys :{}",JSON.toJSONString(matchedStrategys)); if (ObjectUtil.isEmpty(matchedStrategys)) { throw ServiceException.errorLog("无效的控制指令!"); } @@ -109,36 +112,20 @@ public class SarControlContext { private void sendUdp(SarControlDTO control) { SarControlTypeEnum controlType = control.getControlType(); String ip = control.getIp(); - // log.debug("开始发送雷达控制指令[" + controlType + "]----------------------"); - log.debug("send control:\n{}", JSON.toJSONString(control)); + log.trace("send control:{}", JSON.toJSONString(control)); try (DatagramSocket socket = new DatagramSocket()) { byte[] content = pack(control); socket.connect(new InetSocketAddress(ip, PORT)); DatagramPacket packet = new DatagramPacket(content, content.length); - - int failCount = 0; SarErrorDTO info = null; + int failCount = 0; while (info == null && failCount < RETRY_MAX) { // 失败重试 + log.info("发送雷达控制指令 [{}] -> {} (第{}次)", controlType, ip, failCount + 1); socket.send(packet); - // 每0.1秒取回执,1秒后超时 - long startTime = System.currentTimeMillis(); - String cacheKey = CacheKey.getSarControlBack(ip); - - while (System.currentTimeMillis() - startTime < ANSWER_TIMEOUT) { - if (redisUtil.hasKey(cacheKey)) { - info = (SarErrorDTO) redisUtil.get(cacheKey); - redisUtil.del(cacheKey); - break; - } else { - try { - Thread.sleep(POLLING_INTERVAL); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - } - } - } - if (info == null) { // 超时未收到回执 + info = waitForReply(ip); + if (info == null) { failCount++; + log.warn("雷达 [{}] 未返回回执,第{}次重试", ip, failCount); } else if (info.getExecStatus() == 1) { // 只有发送的数据结构错误时才会返回错误状态,并不会因为业务不允许返回错误 throw new ServiceException("控制指令[" + controlType + "]执行状态错误,请重试"); @@ -146,9 +133,8 @@ public class SarControlContext { } if (info == null) { throw new SarConnectException("控制指令[" + controlType + "]发送失败,雷达[" + ip + "]无应答,请重试"); - } else { - log.info("雷达控制指令[" + controlType + "]发送完毕----------------------"); } + log.info("雷达控制指令 [{}] 发送成功 -> {}", controlType, ip); } catch (RedisConnectionFailureException ex) { throw ServiceException.errorLog("无法连接到Redis服务!"); } catch (IOException ex) { @@ -156,6 +142,26 @@ public class SarControlContext { } } + private SarErrorDTO waitForReply(String ip) { + String cacheKey = CacheKey.getSarControlBack(ip); + // 每0.1秒取回执,1秒后超时 + long startTime = System.currentTimeMillis(); + while (System.currentTimeMillis() - startTime < ANSWER_TIMEOUT) { + if (redisUtil.hasKey(cacheKey)) { + SarErrorDTO info = (SarErrorDTO) redisUtil.get(cacheKey); + redisUtil.del(cacheKey); + log.info("收到雷达回执 ip={}", ip); + return info; + } + try { + Thread.sleep(POLLING_INTERVAL); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + return null; + } + /** * 封包 * @param sarControl diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/listen/SarStatusListener.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/listen/SarStatusListener.java index 7d0c6f3..299cb76 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/listen/SarStatusListener.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/listen/SarStatusListener.java @@ -75,11 +75,10 @@ public class SarStatusListener extends SarAbstractListener { if (packet.getLength() != 100) { return; } - log.debug("接收到状态包----------------------"); String ip = packet.getAddress().getHostAddress(); // 处理接收到的数据 SarStatusPackDTO packDTO = SarStatusPackDTO.parse(ip, packet.getData()); - log.debug("recv status:\n{}", JSON.toJSONString(packDTO)); + log.trace("recv status:\n{}", JSON.toJSONString(packDTO)); if (packDTO == null) { if (running) log.warn("[" + packDTO.getPayloadIp() + "]状态包校验失败,已丢弃。错误包=" + @@ -91,7 +90,6 @@ public class SarStatusListener extends SarAbstractListener { if (errorStatus == 1) { SarErrorDTO info = packDTO.getDeviceErrorInfo(); if (info.getErrorPacketType() == SarErrorTypeEnum.RESULT) { - log.debug("收到回执包:" + ip); redisUtil.set(CacheKey.getSarControlBack(ip), info, answerTimeout, TimeUnit.SECONDS); } } @@ -99,11 +97,8 @@ public class SarStatusListener extends SarAbstractListener { int deviceStatus = packDTO.getDevicePacketStatus(); if (deviceStatus == 1) { JmSarStatusDTO info = packDTO.getDeviceStatusInfo(); - log.debug("sar开机状态:" + info.getIsBoot()); sarJobStatusService.update(ip, info); redisUtil.set(CacheKey.getSarConnect(ip), info, answerTimeout, TimeUnit.SECONDS); - //System.out.println(info); } - log.debug("----------------------状态包解析完毕"); } } \ No newline at end of file diff --git a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/service/impl/SarControlServiceImpl.java b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/service/impl/SarControlServiceImpl.java index 4141cd8..2f507f7 100644 --- a/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/service/impl/SarControlServiceImpl.java +++ b/backend/Skyeye-sys-dev/skyeye-service-manager/src/main/java/com/zhangy/skyeye/sar/service/impl/SarControlServiceImpl.java @@ -1,11 +1,11 @@ package com.zhangy.skyeye.sar.service.impl; +import com.alibaba.fastjson2.JSON; import com.zhangy.skyeye.common.extend.exception.ServiceException; import com.zhangy.skyeye.common.extend.util.JsonUtil; import com.zhangy.skyeye.jm.dto.JmJobDTO; import com.zhangy.skyeye.jm.dto.JmSarStatusDTO; import com.zhangy.skyeye.jm.entity.JmJobPayload; -import com.zhangy.skyeye.jm.entity.JmJobUav; import com.zhangy.skyeye.publics.consts.CacheKey; import com.zhangy.skyeye.redis.utils.RedisUtil; import com.zhangy.skyeye.sar.control.SarControlContext; @@ -36,6 +36,7 @@ public class SarControlServiceImpl implements ISarControlService { @Override public void sendUdp(JmJobDTO job) { + log.info("sendUdp:{}", JSON.toJSONString(job)); if (job == null || job.getUavList() == null) return; job.getUavList().forEach(uav -> { JmJobPayload sar = uav.getSar0(); @@ -48,7 +49,7 @@ public class SarControlServiceImpl implements ISarControlService { param.setImageBit(sar.getImageBit()); param.setResolution(sar.getResolution()); if (job.getMode().equals(CRUISE.getCode())) { - param.setControlType(SarControlTypeEnum.TURNON); + param.setControlType(SarControlTypeEnum.UPLOAD); } else { param.setControlType(SarControlTypeEnum.AUTO); } From cc4a5fa62ead56f484e740bc8321c7311a82a614 Mon Sep 17 00:00:00 2001 From: wxs <211789910@qq.com> Date: Wed, 11 Mar 2026 18:44:44 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E5=B7=A1=E8=88=AA?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=E4=BE=A7=E8=A7=86=E5=9B=BE=E7=AD=89=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E4=B8=BA0=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/home/components/task-manage/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.js b/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.js index 0c6c9a9..28508ca 100644 --- a/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.js +++ b/frontend/Skyeye-sys-ui/src/views/home/components/task-manage/index.js @@ -1151,7 +1151,7 @@ export default { }) let airlineList = [ { - direction: 0, + direction: params.direction, distance: 0, endHeight: 0, endLat: 0, @@ -1165,7 +1165,7 @@ export default { flightStartLat: 0, flightStartLon: 0, flightType: 0, - grazingAngle: 0, + grazingAngle: 90 - params.theta, groundStartHeight: 0, groundStartLat: 0, groundStartLon: 0,