diff --git a/.env.development b/.env.development index 11ba95f..b6c7e6a 100644 --- a/.env.development +++ b/.env.development @@ -1,3 +1,3 @@ NODE_ENV = 'development' -VUE_APP_API_URL = 'http://114.66.57.139:8088' +VUE_APP_API_URL = 'http://114.66.57.139:5002' VUE_APP_MESSAGE_SDK_DEBUG = true \ No newline at end of file diff --git a/src/views/contentData/LeftSidebar/index.vue b/src/views/contentData/LeftSidebar/index.vue index 52e44e6..dfeda35 100644 --- a/src/views/contentData/LeftSidebar/index.vue +++ b/src/views/contentData/LeftSidebar/index.vue @@ -126,64 +126,70 @@ export default { signaData: { handler(newVal) { if (newVal) { - newVal.forEach((newItem) => { - // 如果已经存在相同BatchId的数据,重置计时器 - if (newItem.BatchId) { - const existingTimer = this.droneTimers.get(newItem.BatchId); - if (existingTimer) { - clearInterval(existingTimer); // 清除旧计时器 - } + let positionID = localStorage.getItem("positionID"); + const match = newVal.some((item) => + positionID.includes(item.positionId) + ); + if (match) { + newVal.forEach((newItem) => { + // 如果已经存在相同BatchId的数据,重置计时器 + if (newItem.BatchId) { + const existingTimer = this.droneTimers.get(newItem.BatchId); + if (existingTimer) { + clearInterval(existingTimer); // 清除旧计时器 + } - // 设置15秒初始时间 - newItem.currTime = window.mapConfig.currTime; - // 创建新计时器 - const timer = this.startTimer(newItem); - this.droneTimers.set(newItem.BatchId, timer); + // 设置15秒初始时间 + newItem.currTime = window.mapConfig.currTime; + // 创建新计时器 + const timer = this.startTimer(newItem); + this.droneTimers.set(newItem.BatchId, timer); - // 更新无人机列表 - const existingIndex = this.drones.findIndex( - (d) => d.BatchId === newItem.BatchId - ); - newItem.times = moment(newItem.CreateTime).format("HH:mm:ss"); - if (existingIndex !== -1) { - this.$set(this.drones, existingIndex, { ...newItem }); - } else { - this.drones.push({ ...newItem }); - } - } - }); - if (newVal.length === 0) { - this.iswarning = false; - this.showAudioPrompt = false; // 没有数据 不显示提示框 - } - - if (this.drones) { - mapUavFiex(this.drones); - } - let alarm = this.drones.find((d) => d.alarmLevel === 1); - const media = this.$refs.uavAudio; // 修正 ref 名称为 "uavAudio" - if (alarm) { - this.iswarning = true; - this.$nextTick(() => { - if (media) { - media.muted = true; // 初始静音 - media - .play() - .then(() => { - console.log("播放成功,取消静音"); - media.muted = false; // 播放成功后取消静音 - }) - .catch((error) => { - console.log("播放失败:", error); - this.showAudioPrompt = true; // 播放失败时显示提示框 - }); + // 更新无人机列表 + const existingIndex = this.drones.findIndex( + (d) => d.BatchId === newItem.BatchId + ); + newItem.times = moment(newItem.CreateTime).format("HH:mm:ss"); + if (existingIndex !== -1) { + this.$set(this.drones, existingIndex, { ...newItem }); + } else { + this.drones.push({ ...newItem }); + } } }); - } else { - this.iswarning = false; - if (media) { - media.pause(); // 无告警时停止播放 - media.currentTime = 0; // 重置到开始 + if (newVal.length === 0) { + this.iswarning = false; + this.showAudioPrompt = false; // 没有数据 不显示提示框 + } + + if (this.drones) { + mapUavFiex(this.drones); + } + let alarm = this.drones.find((d) => d.alarmLevel === 1); + const media = this.$refs.uavAudio; // 修正 ref 名称为 "uavAudio" + if (alarm) { + this.iswarning = true; + this.$nextTick(() => { + if (media) { + media.muted = true; // 初始静音 + media + .play() + .then(() => { + console.log("播放成功,取消静音"); + media.muted = false; // 播放成功后取消静音 + }) + .catch((error) => { + console.log("播放失败:", error); + this.showAudioPrompt = true; // 播放失败时显示提示框 + }); + } + }); + } else { + this.iswarning = false; + if (media) { + media.pause(); // 无告警时停止播放 + media.currentTime = 0; // 重置到开始 + } } } } @@ -276,6 +282,7 @@ export default { this.isContracted = !this.isContracted; // 切换状态 }, handleDroneClick(value) { + console.log(value, "value"); if (value.drone_lon == 0 || value.drone_lat == 0) { } else { window.marsMap.setCameraView({ diff --git a/src/views/index.vue b/src/views/index.vue index f97580c..f00e8c9 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -62,7 +62,7 @@ export default { ? localhostPath : process.env.VUE_APP_API_URL; connection = new signalR.HubConnectionBuilder() - .withUrl(uploadUrl + "/websocket", { + .withUrl("ws://114.66.57.139:5001" + "/websocket", { skipNegotiation: true, transport: signalR.HttpTransportType.WebSockets }) diff --git a/src/views/login/index.vue b/src/views/login/index.vue index a373ab9..afc51da 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -85,6 +85,7 @@ export default { localStorage.setItem("expires", res.data.expires); // 登录到期时间 localStorage.setItem("userId", res.data.userid); // 登录id localStorage.setItem("isAdmin", res.data.isAdmin); // 权限 + localStorage.setItem("positionID", res.data.positionIds); // 权限 // 注意:Vue 2 中 Pinia 的用法需要调整 diff --git a/src/views/menuData/PermissionDialog.vue b/src/views/menuData/PermissionDialog.vue index d772222..4d86a4a 100644 --- a/src/views/menuData/PermissionDialog.vue +++ b/src/views/menuData/PermissionDialog.vue @@ -82,6 +82,7 @@