From 6b43813495f87a469af5b24786c0b6d5eb3ac706 Mon Sep 17 00:00:00 2001 From: jiangteng <1348746268@qq.com> Date: Wed, 8 Feb 2023 15:56:33 +0800 Subject: [PATCH] =?UTF-8?q?'=E5=A2=9E=E5=8A=A0tle=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/satellite-track/SatelliteTrack.vue | 27 +++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/views/satellite-track/SatelliteTrack.vue b/src/views/satellite-track/SatelliteTrack.vue index e191357..86b7668 100644 --- a/src/views/satellite-track/SatelliteTrack.vue +++ b/src/views/satellite-track/SatelliteTrack.vue @@ -162,6 +162,7 @@ function parseTle(data = "") { function parseTleWithSimpleSplit(data = "") { if (data.length === 0) return; let result = data.split("\n"); + console.log(result) let tles = [], i = 0, tem = []; result.forEach(item => { i++; @@ -211,9 +212,33 @@ function clearSatelliteOrbit() { } } +function checkTleData(data) { + try { + if (!data.length) { + return false; + } + let dataArray = data.split('\n'); + if (dataArray.length % 3 !== 0) { + return false; + } + dataArray.forEach((item, index) => { + if (index % 3 === 0 && !item) throw new Error(false); + if (index % 3 === 1 && item.length !== 69) throw new Error(false); + if (index % 3 === 2 && item.length !== 69) throw new Error(false); + }) + return true; + } catch (error) { + console.log(error); + return false; + } +} + // 添加自定义卫星实例 function handleAddSatellite() { - if (!tleData.value.length) return; + if (!checkTleData(tleData.value)) { + ElMessage.error('error tle data'); + return; + } clearcustomSatelliteMap(); let result = parseTleWithSimpleSplit(tleData.value); result.forEach(tle => {