Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
S
SatelliteDigital
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
nijiawen
SatelliteDigital
Commits
e133a643
提交
e133a643
authored
4月 10, 2026
作者:
liujiaxing
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
最新代码--4.10
上级
c1af309f
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
66 行增加
和
53 行删除
+66
-53
.env.production
.env.production
+3
-3
timers.vue
src/pages/footer/component/timers.vue
+38
-42
requestSocektTime.js
src/utils/requestSocektTime.js
+25
-8
没有找到文件。
.env.production
浏览文件 @
e133a643
...
...
@@ -24,6 +24,6 @@
# VITE_API_URL = /prod-api
VITE_API_URL = /api
# 线上环境部署
VITE_WS_URL = 121.229.107.155:19021
#
VITE_WS_URL = 121.229.107.155:19021
# 本地环境部署
# VITE_WS_URL = 127.0.0.1:19021
\ No newline at end of file
VITE_WS_URL = 127.0.0.1:19021
\ No newline at end of file
src/pages/footer/component/timers.vue
浏览文件 @
e133a643
...
...
@@ -106,12 +106,12 @@ import { ElLoading, ElMessage } from 'element-plus'
import
Loading
from
'@/pages/all/components/loadingComponent/index.js'
import
{
ref
,
onMounted
,
onUnmounted
,
computed
,
watch
,
nextTick
,
watchEffect
}
from
'vue'
;
import
wss
from
'@/utils/requestSocekt.js'
import
wsTime
from
'@/utils/requestSocektTime.js'
import
{
getTimewss
,
createWebSocket
}
from
'@/utils/requestSocektTime.js'
import
useAppStore
from
'@/store/module/app'
import
dayjs
from
'dayjs'
;
const
wssInstance
=
ref
(
wss
)
const
wsTimeInstance
=
ref
(
wsTime
)
let
wsTimeInstance
=
""
;
//时间ws实例
// import { loading } from 'vxe-pc-ui';
// 用于表示速度改变时,正常数据返回后才能够再次改变速度
const
speedChangedNormalDataBack
=
ref
(
false
)
...
...
@@ -247,52 +247,44 @@ const compareTime = (time1, time2) => {
};
const
wsTimeInstanceFn
=
()
=>
{
console
.
log
(
'架子啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊'
);
if
(
wsTimeInstance
.
value
)
{
console
.
log
(
wsTimeInstance
.
value
,
'链接------------------------'
);
(
wsTimeInstance
.
value
).
onmessage
=
(
event
)
=>
{
console
.
log
(
selectedEndTime
.
value
,
'时间对比------------------------'
);
const
data
=
JSON
.
parse
(
event
.
data
);
// console.log('data', data)
console
.
log
(
selectedEndTime
.
value
,
'时间对比------------------------'
,
useAppStoreInstance
.
globalLeftWssCONTINE
.
type
);
if
(
useAppStoreInstance
.
globalLeftWssCONTINE
.
type
===
"realtime"
)
{
startDateTime
.
value
=
data
.
startTime
;
endDateTime
.
value
=
data
.
endTime
;
const
currentEndTimeMs
=
selectedEndTime
.
value
?
selectedEndTime
.
value
.
getTime
()
:
null
;
nextTick
(()
=>
{
// 只刷新刻度,不调 updateTimeline(它会重置滑块)
generateTimelineDates
();
// 把滑块按比例映射到新时间范围
if
(
currentEndTimeMs
)
{
const
newStartMs
=
new
Date
(
data
.
startTime
).
getTime
();
const
newEndMs
=
new
Date
(
data
.
endTime
).
getTime
();
const
newTotalMs
=
newEndMs
-
newStartMs
;
if
(
newTotalMs
>
0
)
{
// 当前时间在新范围中的百分比位置
const
newPercent
=
((
currentEndTimeMs
-
newStartMs
)
/
newTotalMs
)
*
100
;
// 限制在 0~100
endHandlePercent
.
value
=
Math
.
max
(
0
,
Math
.
min
(
100
,
newPercent
));
}
}
console
.
log
(
'架子啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊'
,
wsTimeInstance
);
wsTimeInstance
.
onmessage
=
(
event
)
=>
{
console
.
log
(
selectedEndTime
.
value
,
'时间对比------------------------'
);
const
data
=
JSON
.
parse
(
event
.
data
);
// console.log('data', data)
console
.
log
(
data
,
'时间------------------------'
,
useAppStoreInstance
.
globalLeftWssCONTINE
.
type
);
// if (useAppStoreInstance.globalLeftWssCONTINE.type === "realtime") {
startDateTime
.
value
=
data
.
startTime
;
endDateTime
.
value
=
data
.
endTime
;
const
currentEndTimeMs
=
selectedEndTime
.
value
?
selectedEndTime
.
value
.
getTime
()
:
null
;
// 同步选中时间
updateSelectedTimes
();
});
nextTick
(()
=>
{
// 只刷新刻度,不调 updateTimeline(它会重置滑块)
generateTimelineDates
();
// 把滑块按比例映射到新时间范围
if
(
currentEndTimeMs
)
{
const
newStartMs
=
new
Date
(
data
.
startTime
).
getTime
();
const
newEndMs
=
new
Date
(
data
.
endTime
).
getTime
();
const
newTotalMs
=
newEndMs
-
newStartMs
;
if
(
newTotalMs
>
0
)
{
// 当前时间在新范围中的百分比位置
const
newPercent
=
((
currentEndTimeMs
-
newStartMs
)
/
newTotalMs
)
*
100
;
// 限制在 0~100
endHandlePercent
.
value
=
Math
.
max
(
0
,
Math
.
min
(
100
,
newPercent
));
}
}
}
// 同步选中时间
updateSelectedTimes
();
});
// }
}
}
const
preTimeWindowEnd
=
ref
(
null
);
//下一个时间窗口结束时间
const
preTimeAllDate
=
ref
(
null
);
//上一条完整数据
...
...
@@ -1382,6 +1374,9 @@ const resetclick = () => {
}
const
tempDateTime
=
ref
(
new
Date
(
useAppStoreInstance
.
globalTimeLineEndSelectTime
))
onMounted
(()
=>
{
createWebSocket
();
// console.log();
wsTimeInstance
=
getTimewss
()
wsTimeInstanceFn
();
//接受实时模式下的数据
wssMessageHandle
();
// 只在初始化时注册一次消息处理器
//进入前时间
...
...
@@ -1584,6 +1579,7 @@ onUnmounted(() => {
useAppStoreInstance
.
setGlobalIsRealtimeBeforeSub
(
is_flag_isRealtime
.
value
);
useAppStoreInstance
.
setGlobalSubsystemSelectedTimeRange
(
getDayRangeFromTime
(
useAppStoreInstance
.
globalTimeLineEndSelectTime
));
console
.
log
(
is_flag_isRealtime
.
value
,
'判断状态'
);
wsTimeInstance
.
close
()
// is_flag_isRealtime--true代表实时模式,false--代表历史模式
//console.log("jieshuli 1,组件卸载时要发暂停",getDayRangeFromTime(useAppStoreInstance.globalTimeLineEndSelectTime)[0],getDayRangeFromTime(useAppStoreInstance.globalTimeLineEndSelectTime)[1]);
// 储存跳转前的模式--实时模式-true,还是历史模式-false
...
...
src/utils/requestSocektTime.js
浏览文件 @
e133a643
...
...
@@ -6,34 +6,51 @@ let Timewss = null;
let
timer
=
null
;
const
appStore
=
useAppStore
();
function
createWebSocket
()
{
function
createWebSocket
(
options
=
{})
{
if
(
Timewss
&&
Timewss
.
readyState
===
WebSocket
.
OPEN
)
{
console
.
log
(
'TimeWebSocket已连接,无需重复创建'
);
// 如果有新传入的 onmessage,更新它
if
(
options
.
onmessage
)
{
Timewss
.
onmessage
=
options
.
onmessage
;
}
return
Timewss
;
}
Timewss
=
new
WebSocket
(
apiUrl
);
Timewss
.
onopen
=
()
=>
{
console
.
log
(
'TimeWebSocket已连接'
);
options
.
onopen
?.();
};
Timewss
.
onmessage
=
(
event
)
=>
{
console
.
log
(
'Time接收到消息:'
,
event
.
data
);
options
.
onmessage
?.(
event
);
};
Timewss
.
onerror
=
(
error
)
=>
{
console
.
error
(
'WebSocket错误:'
,
error
);
options
.
onerror
?.(
error
);
};
Timewss
.
onclose
=
()
=>
{
console
.
log
(
'连接关闭,1秒后重连...'
);
timer
=
setTimeout
(()
=>
{
Timewss
=
createWebSocket
();
// 重新创建连接
createWebSocket
(
options
);
// 重新创建连接,保留回调
clearTimeout
(
timer
);
timer
=
null
;
//释放内存
timer
=
null
;
},
1000
);
};
return
Timewss
;
}
//
初始化连接
if
(
!
Timewss
||
Timewss
.
readyState
===
WebSocket
.
CLOSED
)
{
createWebSocket
()
;
//
获取当前 WebSocket 实例
function
getTimewss
(
)
{
return
Timewss
;
}
export
default
Timewss
;
\ No newline at end of file
export
{
createWebSocket
,
getTimewss
};
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论