提交 b0dbcc43 authored 作者: liujiaxing's avatar liujiaxing

ai注释并修改

上级 a1e1d476
...@@ -186,33 +186,30 @@ const jumpToSpecificTime = (targetTime, PerformDrag = false) => { ...@@ -186,33 +186,30 @@ const jumpToSpecificTime = (targetTime, PerformDrag = false) => {
} }
}; };
// websock发送数据并接受数据 // websock发送数据(只发送,不注册消息处理器)
const wssOpenHandle = (data) => { const wssOpenHandle = (data) => {
console.log("发送数据", (wssInstance.value).readyState); console.log("发送数据", (wssInstance.value).readyState);
if ((wssInstance.value).readyState === WebSocket.OPEN) { if ((wssInstance.value).readyState === WebSocket.OPEN) {
// 如果连接已打开,直接发送数据 // 如果连接已打开,直接发送数据
(wssInstance.value).send(JSON.stringify(data)); (wssInstance.value).send(JSON.stringify(data));
wssMessageHandle();
// console.warn('WebSocket 已连接,无法发送数据:', data); // console.warn('WebSocket 已连接,无法发送数据:', data);
} else if ((wssInstance.value).readyState === WebSocket.CLOSED) { } else if ((wssInstance.value).readyState === WebSocket.CLOSED) {
console.warn('WebSocket 已关闭,无法发送数据:', data); console.warn('WebSocket 已关闭,无法发送数据:', data);
(wssInstance.value) = new WebSocket((wssInstance.value).url); const oldUrl = (wssInstance.value).url; // 保存 URL
(wssInstance.value) = new WebSocket(oldUrl);
// 重连时重新注册消息处理器
wssMessageHandle();
(wssInstance.value).onopen = () => { (wssInstance.value).onopen = () => {
(wssInstance.value).send(JSON.stringify(data)); (wssInstance.value).send(JSON.stringify(data));
}; };
console.log("发送数据1111"); console.log("发送数据1111");
wssMessageHandle();
} else { } else {
// 否则等待连接打开后再发送 // 否则等待连接打开后再发送
(wssInstance.value).onopen = () => { (wssInstance.value).onopen = () => {
(wssInstance.value).send(JSON.stringify(data)); (wssInstance.value).send(JSON.stringify(data));
}; };
wssMessageHandle();
} }
console.log("触发1");
startAutoPlay();
}; };
const wssResponeFlag_isSuccess = ref(true);
const loading = ref(''); const loading = ref('');
...@@ -289,8 +286,8 @@ const wsTimeInstanceFn = () => { ...@@ -289,8 +286,8 @@ const wsTimeInstanceFn = () => {
} }
const preTimeWindowEnd = ref(null); const preTimeWindowEnd = ref(null);//下一个时间窗口结束时间
const preTimeAllDate = ref(null); const preTimeAllDate = ref(null);//上一条完整数据
const onMessageIndex = ref(0); const onMessageIndex = ref(0);
// const hasPlayed = ref(false);//判断是否在自动播放中 // const hasPlayed = ref(false);//判断是否在自动播放中
...@@ -298,166 +295,133 @@ const unlesscount = ref(0); ...@@ -298,166 +295,133 @@ const unlesscount = ref(0);
const wssMessageHandle = () => { const wssMessageHandle = () => {
// let WwflagToNext = 0 // let WwflagToNext = 0
(wssInstance.value).onmessage = (event) => { (wssInstance.value).onmessage = (event) => {
const data = JSON.parse(event.data); let data;
console.log('data接受到返回的数据了----------------', data) // 修复问题2: 添加 try-catch 包裹 JSON.parse
if (data.type === "realtime") { try {
console.log('是否开始播放'); data = JSON.parse(event.data);
} catch (error) {
playForward();//开始播放 console.error('WebSocket 数据解析失败:', error);
useAppStoreInstance.setGlobalLeftWssCONTINE(data); return;
}
// 只有history和实时模式数据,回复已收到数据的确认。要修改以下代码
if ((data.type === 'history' && !(data?.isLagrangeInterpolation === true))) {
wssOpenHandle({
type: "confirm",
taskCode: String(taskCode_everyChange.value) === "" ? useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode) : String(taskCode_everyChange.value),
clientType: "web"
})
}
if (data.type === 'control' && (data.controlType === 'continue' && data?.messageTypeFalg === 'true')) {
// 跳到指定时间点
console.log(tempDateTime.value, '试试模式的时间?-------');
jumpToSpecificTime(new Date(subtractSecondsAndFormat(alignTo56Seconds(tempDateTime.value).toISOString(), data.remainingTimeMs + 1)), false)
playForward();//开始播放
// if (!hasPlayed.value) {
//console.log("我是playForward--3");
// hasPlayed.value = true;
// }
} }
// //console.log('setTimeout:', (1000*60)/playbackSpeed.value,playbackSpeed.value); console.log('data接受到返回的数据了----------------', data);
if ((data.type === 'history' && (data?.isLagrangeInterpolation === true)) && (data.controlType === 'SMOOTH')) {
//console.log("我是playForward--1");
if (data.nextTimestamp) {
console.log('时间值111');
preTimeWindowEnd.value = data.nextTimestamp; // 修复问题1: 将 history 类型统一处理
} if (data.type === 'realtime') {
jumpToNextTime.value = data.remainingTimeMs || 0; console.log('是否开始播放');
hasDraged_first_falseToTrue.value = true;
isChange_flag_firstBackDate.value = true;
playForward(); playForward();
// hasPlayed.value = true;
useAppStoreInstance.setGlobalLeftWssCONTINE(data); useAppStoreInstance.setGlobalLeftWssCONTINE(data);
// console.log("useAppStoreInstance.globalLeftWssCONTINE;执行了"); Loading.hide(); // 成功处理后隐藏 loading
} // 实时模式下,如果后端返回 SMOOTH 类型,说明是拖动后的同步数据
// 使用 Promise 包装 setTimeout // 需要通知 UE5 继续播放,与时间轴同步
// await new Promise(resolve => { if (data.controlType === 'SMOOTH') {
// setTimeout(() => { if (window.ue5) {
// loading.close() window.ue5("callBackTimeFn", String(JSON.stringify({
// resolve() isRealtime: true,
// }, 2000) replayTime: formatDateTime(selectedEndTime.value),
// }) taskCode: String(taskCode_everyChange.value) === "" ? useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode) : String(taskCode_everyChange.value),
//console.log('我是timer获取的wssRespone:', data); speed: playbackSpeed.value,
//console.log("我走了seekConfirm",!(data?.isLagrangeInterpolation === true)); status: "continue", // 通知 UE5 继续播放
let flagToNext = 0 })));
Loading.hide()//接受到后端ws传递的消息,这时候隐藏loading console.log("SMOOTH类型,通知UE5继续播放");
}
if (data.type === 'control' && !(data.controlType === 'stop') && !(data.controlType === 'continue')) {
if (data.nextTimestamp) {
console.log('时间值222');
preTimeWindowEnd.value = data.nextTimestamp || data.dataTime;
} }
hasDraged_first_falseToTrue.value = true; } else if (data.type === 'history') {
console.log('是否跳转'); // 发送确认(仅非插值数据)
if (!(data?.isLagrangeInterpolation === true)) {
jumpToSpecificTime(new Date(subtractSecondsAndFormat(alignTo56Seconds(selectedEndTime.value).toISOString(), data.remainingTimeMs + 1))); wssOpenHandle({
//console.log("我走了ElMessage",hasDraged_first_falseToTrue.value , !(data?.isLagrangeInterpolation === true) , (data.controlType === 'seekConfirm')); type: "confirm",
// ElMessage.warning("dsadasd",jumpToNextTime.value) taskCode: String(taskCode_everyChange.value) === "" ? useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode) : String(taskCode_everyChange.value),
if (hasDraged_first_falseToTrue.value && !(data?.isLagrangeInterpolation === true) && (data.controlType === 'seekConfirm')) { clientType: "web"
// ElMessage({ });
// type: 'success',
// message: `${jumpToNextTime.value/1000}秒后可进行下次时间轴拖动!!!`,
// })
} }
isChange_flag_firstBackDate.value = true;
}
if (data.type === 'error') {
wssResponeFlag_isSuccess.value = false;
// eleplate plus 关闭loading
// (loading.value).close()
console.log(data.type, data.type === 'error', '为什么会进来33');
ElMessage({ // 平滑插值处理
type: 'error', if ((data?.isLagrangeInterpolation === true) && (data.controlType === 'SMOOTH')) {
message: data.message ? `主系统:${data.message} ` : `已暂停,没有查询到该时间段的历史数据!!!`, if (data.nextTimestamp) {
}) console.log('时间值111');
// //console.log("获取的wssResponeFlag_isSuccess信息1:", wssResponeFlag_isSuccess.value); preTimeWindowEnd.value = data.nextTimestamp;
useAppStoreInstance.setglobalStartWss(false) }
//console.log("我走了这里4") jumpToNextTime.value = data.remainingTimeMs || 0;
stopAutoPlay(); hasDraged_first_falseToTrue.value = true;
// isChange_flag_firstBackDate.value = false; isChange_flag_firstBackDate.value = true;
// hasPlayed.value = false; playForward();
// 处理任务数据 useAppStoreInstance.setGlobalLeftWssCONTINE(data);
}
if (data.type === 'history' && !(data?.isLagrangeInterpolation === true)) {
useAppStoreInstance.setGlobalLeftWssCONTINE(data);
// 处理日志数据
// //console.log("endDateTime.value === selectedEndTime.value:", endDateTime.value , selectedEndTime.value.toISOString(),endDateTime.value === selectedEndTime.value);
useAppStoreInstance.setglobalStartWss(true)
speedChangedNormalDataBack.value = false;//多余
if (data.nextTimestamp || data.timeWindowEnd) {
console.log('时间值333');
preTimeWindowEnd.value = data.nextTimestamp || data.timeWindowEnd;
} }
hasDraged_first_falseToTrue.value = false;
// if (!(is_flag_confirmAndPauseAndSpeed.value) && !(is_flag_isRealtime.value)) {
// //console.log("我走了is_flag_confirmAndPauseAndSpeed",!(is_flag_confirmAndPauseAndSpeed.value) && !(is_flag_isRealtime.value));
// is_flag_confirmAndPauseAndSpeed.value = true; // 普通历史数据处理
// } if (!(data?.isLagrangeInterpolation === true)) {
useAppStoreInstance.setGlobalLeftWssCONTINE(data);
preTimeAllDate.value = data; useAppStoreInstance.setglobalStartWss(true);
// clearTimeout(WwflagToNext); speedChangedNormalDataBack.value = false;
if (flagToNext !== 0) { if (data.nextTimestamp || data.timeWindowEnd) {
clearTimeout(flagToNext); console.log('时间值333');
preTimeWindowEnd.value = data.nextTimestamp || data.timeWindowEnd;
}
hasDraged_first_falseToTrue.value = false;
preTimeAllDate.value = data;
isChange_flag_firstBackDate.value = true;
onMessageIndex.value += 1;
// 修复问题6: 添加容差判断(2秒容差)
// 添加空值保护
if (endDateTime.value && selectedEndTime.value) {
const toleranceMs = 2000; // 2秒容差
const endTimeMs = new Date(endDateTime.value).getTime();
const selectedTimeMs = selectedEndTime.value.getTime();
const timeDiff = endTimeMs - selectedTimeMs;
if (timeDiff <= toleranceMs && timeDiff >= 0) {
console.log('接受值后,已到达终点容差范围');
stopAutoPlay();
} else {
playForward();
}
} else {
playForward();
}
Loading.hide(); // 成功处理后隐藏 loading
} }
isChange_flag_firstBackDate.value = true; } else if (data.type === 'control') {
// control 类型单独处理
onMessageIndex.value += 1 if (data.controlType === 'continue' && data?.messageTypeFalg === 'true') {
// 跳到指定时间点
if (endDateTime.value === selectedEndTime.value.toISOString()) { console.log(tempDateTime.value, '试试模式的时间?-------');
//console.log("我走了这里1",endDateTime.value === selectedEndTime.value.toISOString(),endDateTime.value,selectedEndTime.value.toISOString()); jumpToSpecificTime(new Date(subtractSecondsAndFormat(alignTo56Seconds(tempDateTime.value).toISOString(), data.remainingTimeMs + 1)), false);
console.log('接受值后');
stopAutoPlay();
} else {
playForward(); playForward();
// if (!hasPlayed.value) { Loading.hide();
// //console.log("我是playForward--3"); } else if (!(data.controlType === 'stop') && !(data.controlType === 'continue')) {
// hasPlayed.value = true; if (data.nextTimestamp) {
// } console.log('时间值222');
// startAutoPlay() preTimeWindowEnd.value = data.nextTimestamp || data.dataTime;
}
hasDraged_first_falseToTrue.value = true;
console.log('是否跳转');
jumpToSpecificTime(new Date(subtractSecondsAndFormat(alignTo56Seconds(selectedEndTime.value).toISOString(), data.remainingTimeMs + 1)));
isChange_flag_firstBackDate.value = true;
Loading.hide();
} }
} else if (data.type === 'error') {
wssResponeFlag_isSuccess.value = true; console.log(data.type, '为什么会进来33');
} ElMessage({
if (data.type === 'EndProcess') { type: 'error',
useAppStoreInstance.setglobalStartWss(false) message: data.message ? `主系统:${data.message} ` : `已暂停,没有查询到该时间段的历史数据!!!`,
// useAppStoreInstance.setglobalStartWss(false) });
// isChange_flag_firstBackDate.value = false; useAppStoreInstance.setglobalStartWss(false);
stopAutoPlay();
// 错误情况不隐藏 loading,保持加载状态提示用户
} else if (data.type === 'EndProcess') {
useAppStoreInstance.setglobalStartWss(false);
console.log(data.type, data.type === 'error', '为什么会进来11'); console.log(data.type, data.type === 'error', '为什么会进来11');
ElMessage({ ElMessage({
type: 'error', type: 'error',
message: data.message || `已暂停,没有查询到该时间段的历史数据!!!`, message: data.message || `已暂停,没有查询到该时间段的历史数据!!!`,
}) });
stopAutoPlay(); stopAutoPlay();
// //console.log('我是left,type == time获取的wssRespone:', JSONdata, typeof JSONdata.time);
// //console.log('我是left,type == time获取的wssRespone:', JSONdata.time, typeof JSONdata.time);
// //console.log('我是left,type == time获取的wssRespone:', JSONdata.time.toLocaleString(), typeof JSONdata.time.toLocaleString());
} }
unlesscount.value += 1 unlesscount.value += 1;
}; };
} }
...@@ -570,8 +534,7 @@ const handleDateRangeChange = async (val, flag = false, RemoveSat, speed) => { ...@@ -570,8 +534,7 @@ const handleDateRangeChange = async (val, flag = false, RemoveSat, speed) => {
} }
if (val && val.length > 0) { if (val && val.length > 0) {
wssResponeFlag_isSuccess.value = true; isPlaying.value = false;//播放暂停
isPlaying.value = false;
if (!flag) { if (!flag) {
Loading.show() Loading.show()
} }
...@@ -620,7 +583,6 @@ const handleDateRangeChange = async (val, flag = false, RemoveSat, speed) => { ...@@ -620,7 +583,6 @@ const handleDateRangeChange = async (val, flag = false, RemoveSat, speed) => {
console.log("走了这里3"); console.log("走了这里3");
} }
wssMessageHandle()
} else { } else {
ElMessage({ ElMessage({
type: 'warning', type: 'warning',
...@@ -642,24 +604,6 @@ const handleDateRangeChange = async (val, flag = false, RemoveSat, speed) => { ...@@ -642,24 +604,6 @@ const handleDateRangeChange = async (val, flag = false, RemoveSat, speed) => {
} }
}; };
watch(() => wssResponeFlag_isSuccess.value, (newVal) => {
//console.log("我是这里再监测数值变化,",newVal);
if (newVal) {
console.log("触发2");
startAutoPlay();
}
else {
//console.log("我是watch(())stopAutoPlay()");
//console.log("我走了这里6")
console.log('触发了暂停');
stopAutoPlay();
// (wssInstance.value).close()
}
})
const isDateRangeNotEmpty = ref(false); const isDateRangeNotEmpty = ref(false);
const autoUpdateDateRange = ref(null); const autoUpdateDateRange = ref(null);
autoUpdateDateRange.value = setInterval(() => { autoUpdateDateRange.value = setInterval(() => {
...@@ -917,7 +861,7 @@ const toggleAutoPlay = () => { ...@@ -917,7 +861,7 @@ const toggleAutoPlay = () => {
speed: playbackSpeed.value, speed: playbackSpeed.value,
taskCode: String(taskCode_everyChange.value) === "" ? useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode) : String(taskCode_everyChange.value), taskCode: String(taskCode_everyChange.value) === "" ? useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode) : String(taskCode_everyChange.value),
currentTime: (formatDateTime(selectedEndTime.value)), currentTime: (formatDateTime(selectedEndTime.value)),
status: isPlaying.value ? "stop" : "continue", status: isPlaying.value ? "continue" : "stop",
// status: isPlaying.value ? "continue" : "stop", // status: isPlaying.value ? "continue" : "stop",
//时间参数 //时间参数
}))) })))
...@@ -1020,9 +964,9 @@ const playForward = async () => { ...@@ -1020,9 +964,9 @@ const playForward = async () => {
// 第二版开始播放 // 第二版开始播放
const startAutoPlay = () => { const startAutoPlay = () => {
console.log('开始播放?', !isPlaying.value); console.log('开始播放?', !isPlaying.value);
// 清除定时器 // 清除定时器(注意:playbackInterval 存储的是 setTimeout 返回值)
if (playbackInterval.value) { if (playbackInterval.value) {
clearInterval(playbackInterval.value); clearTimeout(playbackInterval.value);
} }
let expectedTime = Date.now() + (1000 / playbackSpeed.value); let expectedTime = Date.now() + (1000 / playbackSpeed.value);
...@@ -1042,12 +986,12 @@ const stopAutoPlay = () => { ...@@ -1042,12 +986,12 @@ const stopAutoPlay = () => {
isPlaying.value = false; isPlaying.value = false;
console.log("停止自动播放", playbackInterval.value); console.log("停止自动播放", playbackInterval.value);
if (playbackInterval.value) { if (playbackInterval.value) {
clearInterval(playbackInterval.value); clearTimeout(playbackInterval.value);
playbackInterval.value = null; playbackInterval.value = null;
} }
if (flag_SetTimeOutCycle.value !== null) { if (flag_SetTimeOutCycle.value !== null) {
clearInterval(flag_SetTimeOutCycle.value); clearTimeout(flag_SetTimeOutCycle.value);
flag_SetTimeOutCycle.value = null; flag_SetTimeOutCycle.value = null;
} }
...@@ -1147,23 +1091,16 @@ const startDrag = (handle, e) => { ...@@ -1147,23 +1091,16 @@ const startDrag = (handle, e) => {
// console.log("拖动开始", currentDragHandle.value); // console.log("拖动开始", currentDragHandle.value);
// 手动拖动时停止自动播放 // 手动拖动时停止自动播放
// if (isPlaying.value) { if (isPlaying.value) {
// //console.log("我是拖动开始stopAutoPlay()",isPlaying.value); stopAutoPlay();
// //console.log("我走了这里9") }
// stopAutoPlay();
// }
// 移除旧的事件监听器,防止重复绑定
window.removeEventListener('mousemove', handleDrag);
window.removeEventListener('mouseup', endDrag);
// 添加新的事件监听器
window.addEventListener('mousemove', handleDrag); window.addEventListener('mousemove', handleDrag);
window.addEventListener('mouseup', endDrag); window.addEventListener('mouseup', endDrag);
// if(!hasDraged_first_falseToTrue.value) {
// // 添加全局事件监听器
// window.addEventListener('mousemove', handleDrag);
// window.addEventListener('mouseup', endDrag);
// }else{
// ElMessage.warning("已拖动过,请等待执行下次拖动!");
// }
}; };
// 拖动过程中函数回显样式等信息 // 拖动过程中函数回显样式等信息
...@@ -1315,6 +1252,14 @@ const endDrag = () => { ...@@ -1315,6 +1252,14 @@ const endDrag = () => {
console.log('触发了暂停'); console.log('触发了暂停');
stopAutoPlay(); stopAutoPlay();
// 问题4修复:拖动结束后,如果处于实时模式,恢复自动更新定时器
if (isDateRangeNotEmpty.value) {
clearInterval(autoUpdateDateRange.value);
autoUpdateDateRange.value = setInterval(() => {
autoHandleDateRangeChange([new Date((new Date(useAppStoreInstance.globalSubsystemSelectedStartTime[0]))).toISOString(), new Date((new Date(useAppStoreInstance.globalSubsystemSelectedStartTime[1]))).toISOString()]);
}, 1000);
}
}; };
// 重置滑块-重置当天日期 // 重置滑块-重置当天日期
...@@ -1375,17 +1320,26 @@ const resetclick = () => { ...@@ -1375,17 +1320,26 @@ const resetclick = () => {
startHandlePercent.value = 0; startHandlePercent.value = 0;
endHandlePercent.value = 100;//实时模式滑块为100 endHandlePercent.value = 100;//实时模式滑块为100
dateRange.value = [] dateRange.value = []
// 向ue5发送消息转换成实时模式
// window.ue5("callBackTimeFn", String(JSON.stringify({
// isRealtime: is_flag_isRealtime.value,
// taskCode: String(taskCode_everyChange.value) === "" ? useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode) : String(taskCode_everyChange.value),
// speed: playbackSpeed.value,
// // status: isPlaying.value ? "continue" : "stop",
// })))
// 向后端发送消息转换成实时模式
handleDateRangeChange(JSON.parse(localStorage.getItem("isRealtimetime")), true, false, localStorage.getItem("playbackSpeed")); handleDateRangeChange(JSON.parse(localStorage.getItem("isRealtimetime")), true, false, localStorage.getItem("playbackSpeed"));
wssOpenHandle({ wssOpenHandle({
isRealtime: is_flag_isRealtime.value, isRealtime: is_flag_isRealtime.value,
status: 'continue', // status: 'continue',
messageTypeFalg: true, speed: playbackSpeed.value,
taskCode: useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode), taskCode: useAppStoreInstance.globalRecordMainSysTaskCode || (useAppStoreInstance.globalSubsystemTaskCode),
}) })
} }
const tempDateTime = ref(new Date(useAppStoreInstance.globalTimeLineEndSelectTime)) const tempDateTime = ref(new Date(useAppStoreInstance.globalTimeLineEndSelectTime))
onMounted(() => { onMounted(() => {
wssMessageHandle();// 只在初始化时注册一次消息处理器
wsTimeInstanceFn();//接受实时模式下的数据 wsTimeInstanceFn();//接受实时模式下的数据
//进入前时间 //进入前时间
tempDateTime.value = "" tempDateTime.value = ""
...@@ -1550,7 +1504,7 @@ watch( ...@@ -1550,7 +1504,7 @@ watch(
} }
} }
jiangerTime.value += 1; jiangerTime.value += 1;
console.log(formatDateTime(selectedEndTime.value), preTimeWindowEnd.value, '时间对比'); // console.log(formatDateTime(selectedEndTime.value), preTimeWindowEnd.value, '时间对比');
//对比时间----判断是否需要停止,拖动后后端连续返回三条数据,第一条是提示,第二第三条是ue用来定位和平滑的数据,这是后不应该停止时间,到56秒后应该接收到下一条数据时 //对比时间----判断是否需要停止,拖动后后端连续返回三条数据,第一条是提示,第二第三条是ue用来定位和平滑的数据,这是后不应该停止时间,到56秒后应该接收到下一条数据时
// if (compareTime(formatDateTime(selectedEndTime.value), preTimeWindowEnd.value)) { // if (compareTime(formatDateTime(selectedEndTime.value), preTimeWindowEnd.value)) {
......
...@@ -12,60 +12,70 @@ import { tr } from "element-plus/es/locales.mjs"; ...@@ -12,60 +12,70 @@ import { tr } from "element-plus/es/locales.mjs";
const useAppStore = defineStore("app", { const useAppStore = defineStore("app", {
state: () => ({ state: () => ({
// 记录时间轴走的时间 // ==================== 时间轴相关 ====================
globalTimeLineEndSelectTime: "2025-11-02 00:00:00", globalTimeLineEndSelectTime: "2025-11-02 00:00:00", // 时间轴滑块当前选中的结束时间
globalTimeLineStartTime: "2025-11-02 00:00:00", globalTimeLineStartTime: "2025-11-02 00:00:00", // 时间轴范围开始时间
globalTimeLineEndTime: "2025-11-02 00:00:00", globalTimeLineEndTime: "2025-11-02 00:00:00", // 时间轴范围结束时间
globalisFromTosub: false, globalisFromTosub: false, // 是否从主系统进入子系统
footerTimeHasedSelectTimeToSub: false, footerTimeHasedSelectTimeToSub: false, // 判断是否需要发送时间到子系统(返回时恢复状态用)
// ==================== 子系统时间范围 ====================
globalSubsystemSelectedTimeRange: [ globalSubsystemSelectedTimeRange: [
"Sun Nov 02 2025 00:00:00 GMT+0800 (中国标准时间) ", "Sun Nov 02 2025 00:00:00 GMT+0800 (中国标准时间) ",
"Tue Nov 04 2025 00:00:00 GMT+0800 (中国标准时间) ", "Tue Nov 04 2025 00:00:00 GMT+0800 (中国标准时间) ",
], ], // 子系统选中时间段范围
globalLeftWssCONTINE: false, globalLeftWssCONTINE: false, // WebSocket 连续数据推送状态
// 进入子系统前是否处于实时模式(专门用于返回时恢复,不依赖 globalLeftWssCONTINE) // 进入子系统前是否处于实时模式(专门用于返回时恢复,不依赖 globalLeftWssCONTINE)
globalIsRealtimeBeforeSub: false, globalIsRealtimeBeforeSub: false,
globalRecordMainSysTaskCode: 0, globalRecordMainSysTaskCode: 0, // 主系统当前任务码
subSystemTimeLineEndSelectTime: "-", // ==================== 子系统时间轴 ====================
subsystemSocket: null, subSystemTimeLineEndSelectTime: "-", // 子系统时间轴滑块结束时间
subsystemSocketContent: "", subsystemSocket: null, // 子系统 WebSocket 实例
HeartbeatInterval: null, subsystemSocketContent: "", // 子系统 WebSocket 接收内容
isTimeLineShow: true, HeartbeatInterval: null, // 心跳定时器实例
islegendShow: true,//主系统时间下方图例是否隐藏
isSourceLegendShow: true, // ==================== 面板显示控制 ====================
isdataPanelShow: true, isTimeLineShow: true, // 是否显示时间轴
issatelliteOrbitShow: false, islegendShow: true, // 主系统时间下方图例是否隐藏
issatelliteBeamShow: true, isSourceLegendShow: true, // 源图例是否显示
iscontrolPanelShow: true,//控制主系统右上角悬浮框,分系统右上角悬浮框 isdataPanelShow: true, // 数据面板是否显示
issatelliteOrbitShow: false, // 卫星轨道是否显示
globaleAutoPlay: true, issatelliteBeamShow: true, // 卫星波束是否显示
globalIntervalTime: 3000, iscontrolPanelShow: true, // 控制面板是否显示(主系统/子系统右上角悬浮框)
globalStartWss: false,
globalSatelliteSearchID: "4097",//卫星id // ==================== 播放控制 ====================
globalSubsystemActiveIndex: "0", globaleAutoPlay: true, // 是否自动播放
globalSubsystemIsFastForward: false, globalIntervalTime: 3000, // 播放间隔时间(毫秒)
globalSubsystemSpeed: 1, globalStartWss: false, // 是否已启动 WebSocket
globalSubsystemTaskCode: 0,
// ==================== 卫星相关 ====================
globalSatelliteSearchID: "4097", // 当前选中的卫星 ID
globalSubsystemActiveIndex: "0", // 子系统当前激活的索引
globalSubsystemIsFastForward: false, // 子系统是否处于快进状态
globalSubsystemSpeed: 1, // 子系统播放倍速
globalSubsystemTaskCode: 0, // 子系统当前任务码
globalSubsystemSelectedStartTime: [ globalSubsystemSelectedStartTime: [
"Sun Nov 02 2025 00:00:00 GMT+0800 (中国标准时间) ", "Sun Nov 02 2025 00:00:00 GMT+0800 (中国标准时间) ",
"Tue Nov 04 2025 00:00:00 GMT+0800 (中国标准时间) ", "Tue Nov 04 2025 00:00:00 GMT+0800 (中国标准时间) ",
], ], // 子系统选中时间段(开始时间)
globalSubsystemSelectedEndTime: "2025-11-04 00:00:00", //暂未使用 globalSubsystemSelectedEndTime: "2025-11-04 00:00:00", // 子系统选中时间段(结束时间)
globalDisableTimeLine: true, globalDisableTimeLine: true, // 是否禁用时间轴
gridPanelData: [], //格网面板 // ==================== 面板数据 ====================
regionPanelData: [], //区域面板 gridPanelData: [], // 格网面板数据
signalSitePanelData: [], //信关站面板 regionPanelData: [], // 区域面板数据
signalSitePanelData: [], // 信关站面板数据
chartConfig: {}, //图表配置项, // ==================== 图表配置 ====================
chartConfig: {}, // 图表配置项(模板、粒度、类型等)
currentHotMapCountry: null, // ==================== 其他 ====================
currentHotMapCountry: null, // 当前热力图选中的国家
gridInfoList: null, //全部格网信息列表 gridInfoList: null, // 全部格网信息列表
}), }),
actions: { actions: {
setGlobalRecordMainSysTaskCode(status) { setGlobalRecordMainSysTaskCode(status) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论