Browse Source

111

feature/MultiClientLog
root 1 month ago
parent
commit
7c73c193d4
  1. 26
      LTEMvcApp/Views/Home/ClientMessages.cshtml

26
LTEMvcApp/Views/Home/ClientMessages.cshtml

@ -169,7 +169,6 @@
<h3 class="card-title">客户端消息队列 - @address</h3>
<div class="card-tools">
<span id="connection-status" class="badge badge-secondary">正在连接...</span>
<span id="message-status" class="badge badge-info ml-2" style="display: none;">等待消息...</span>
<button id="refreshLogFiles" class="btn btn-outline-primary btn-sm">
<i class="fas fa-sync-alt"></i> 刷新日志文件
</button>
@ -519,40 +518,16 @@
function initializeEventSource() {
const source = new EventSource(`/api/message/${encodeURIComponent(address)}/stream`);
const statusBadge = $('#connection-status');
const messageStatusBadge = $('#message-status');
source.addEventListener('open', function(e) {
console.log("SSE connection opened.");
statusBadge.removeClass('badge-secondary badge-danger').addClass('badge-success').text('已连接');
messageStatusBadge.show().removeClass('badge-success badge-warning').addClass('badge-info').text('等待消息...');
// 重置数据和视图
sentMessagesData = [];
receivedMessagesData = [];
sentClusterize.update([]);
receivedClusterize.update([]);
});
source.addEventListener('update', function(e) {
const data = JSON.parse(e.data);
const isSent = data.type === 'sent';
// 更新消息状态
if (data.newCount > 0) {
messageStatusBadge.removeClass('badge-info badge-warning').addClass('badge-success')
.text(`收到 ${data.newCount} 条新${isSent ? '发送' : '接收'}消息`);
// 3秒后恢复等待状态
setTimeout(() => {
if (sentMessagesData.length === 0 && receivedMessagesData.length === 0) {
messageStatusBadge.removeClass('badge-success').addClass('badge-info').text('等待消息...');
} else {
messageStatusBadge.removeClass('badge-success').addClass('badge-warning')
.text(`总计: 发送${sentMessagesData.length}条, 接收${receivedMessagesData.length}条`);
}
}, 3000);
}
const clusterize = isSent ? sentClusterize : receivedClusterize;
const dataArray = isSent ? sentMessagesData : receivedMessagesData;
const scrollArea = isSent ? $('#sentScrollArea') : $('#receivedScrollArea');
@ -587,7 +562,6 @@
source.addEventListener('error', function(e) {
statusBadge.removeClass('badge-success').addClass('badge-danger').text('连接断开');
messageStatusBadge.hide();
console.error("SSE connection error/closed.", e);
});
}

Loading…
Cancel
Save