From 0937e1610d31bf6da27437e00601c598af38af1b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=B1=BC=E9=AA=A8=E5=89=AA?= <1580622474@qq.com>
Date: Sun, 11 Aug 2024 15:08:43 +0800
Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=98=BE=E7=A4=BA=E5=BD=93?=
=?UTF-8?q?=E5=89=8D=E6=95=B0=E6=8D=AE=E7=9A=84=E6=97=B6=E9=97=B4=EF=BC=8C?=
=?UTF-8?q?=E6=9B=B4=E8=AF=A6=E7=BB=86=E7=9A=84=E9=94=99=E8=AF=AF=E4=BF=A1?=
=?UTF-8?q?=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app.py | 20 ++++++++++++++------
index.html | 22 ++++++++++++++++++++--
2 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/app.py b/app.py
index 3dc9ae4..d233bd7 100644
--- a/app.py
+++ b/app.py
@@ -1,4 +1,5 @@
from flask import Flask, jsonify
+from datetime import datetime
from flask_cors import CORS
import threading
import paramiko
@@ -121,24 +122,31 @@ def get_all_data():
# 根据key过滤所需的服务器数据
def filter_data(title_list: list):
result = dict()
+ server_data = dict()
for title in title_list:
- result[title] = {}
+ server_data[title] = {}
# 不存在该title的数据
if title not in data_dict:
- result[title]['err_info'] = f'title \'{title}\' not exist!'
+ server_data[title]['err_info'] = f'title \'{title}\' not exist!'
continue
# 还没获取到数据
info_list = data_dict[title].get('info_list', None)
if info_list is None:
- result[title]['err_info'] = f'\'{title}\' still empty.'
+ err_info = data_dict[title].get('err_info', None)
+ if err_info is not None:
+ server_data[title]['err_info'] = data_dict[title]['err_info']
+ else:
+ server_data[title]['err_info'] = f'\'{title}\' still empty.'
continue
# 记录数据
data_updated = data_dict[title].get('updated', False)
err_info = data_dict[title].get('err_info', '')
- result[title]['info_list'] = info_list
- result[title]['updated'] = data_updated
- result[title]['err_info'] = err_info
+ server_data[title]['info_list'] = info_list
+ server_data[title]['updated'] = data_updated
+ server_data[title]['err_info'] = err_info
+ result['time'] = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
+ result['server_data'] = server_data
return result
def start_connect():
diff --git a/index.html b/index.html
index 90d35bc..851ea94 100644
--- a/index.html
+++ b/index.html
@@ -38,15 +38,33 @@
displayServerData(data); // 调用显示数据的函数
})
.catch(error => {
- console.error('Error fetching data:', error);
+ // console.error('Error fetching data:', error);
+ displayError(error + " (多半是没有正确连接服务器端,可能是没开、网络错误)");
});
}
- function displayServerData(serverData) {
+ function displayError(err_info){
+ let serverDataContainer = document.getElementById('server-data');
+ serverDataContainer.innerHTML = ''; // 清空容器
+
+ let errDiv = document.createElement('div');
+ errDiv.classList.add('error-info');
+ errDiv.innerHTML = err_info;
+ serverDataContainer.appendChild(errDiv);
+ }
+
+ function displayServerData(data) {
// 绘制 -------------------
let serverDataContainer = document.getElementById('server-data');
serverDataContainer.innerHTML = ''; // 清空容器
+ let timeStr = data['time']
+ let serverData = data['server_data']
+
+ let timeDiv = document.createElement('div');
+ timeDiv.textContent = timeStr;
+ serverDataContainer.appendChild(timeDiv);
+
let greenDot = ' 空闲';
let yellowDot = ' 占用';
let redDot = ' 占用';