summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhandingkang <[email protected]>2024-04-10 16:22:53 +0800
committerhandingkang <[email protected]>2024-04-10 16:22:53 +0800
commit8f38b07715fca9f698666d82e11d81de31be159a (patch)
tree79b441ddf22f3058a20d081fb4e2e885e90f25a6
parent0fe0e0ec4dda1c78bee1701eb74cc9c4d0128cd9 (diff)
仪表盘界面接口开发尝试
-rw-r--r--server/apps/sysinfo.py37
-rw-r--r--server/apps/util.py3
2 files changed, 26 insertions, 14 deletions
diff --git a/server/apps/sysinfo.py b/server/apps/sysinfo.py
index 7aa24f2..bae76b2 100644
--- a/server/apps/sysinfo.py
+++ b/server/apps/sysinfo.py
@@ -1,17 +1,22 @@
# 系统信息接口
-import datetime
from apiflask import APIBlueprint, Schema
from apiflask.fields import Date, Integer, Nested, Dict, DateTime, String, List
from apiflask.validators import OneOf
# 测试用
-from apps.util import fake
-from settings import START_DAY
+from settings import *
from util import da
bp = APIBlueprint("仪表盘接口", __name__, url_prefix="/sys")
+log_map = {
+ "LOG_LEVEL": "level",
+ "LOG_INFO": "info",
+ "LOG_TIME": "time",
+ "S_IP": "ip",
+}
+
class TargetOut(Schema):
v6dns = Integer()
@@ -84,6 +89,7 @@ def target_date():
return {"date_data": dates}
+# 系统操作日志获取接口
@bp.get("/log")
@bp.input({
"per_page": Integer(load_default=10),
@@ -98,14 +104,19 @@ def sys_log(query_data):
per_page = query_data["per_page"]
# 页数
page = query_data["page"]
- log_list = []
- # TODO:具体实现
- for i in range(per_page):
- log_list.append({
- "time": fake.date_time_between(start_date="-1y"),
- "level": fake.word(ext_word_list=["INFO", "WARNING", "ERROR"]),
- "info": fake.text(max_nb_chars=20, ext_word_list=None),
- "user": fake.name(),
- "ip": fake.ipv4()
- })
+ tabs = {
+ "syslog": MYSQL_TAB_SYSLOG,
+ "user": MYSQL_TAB_USER,
+ "start": (page - 1) * per_page,
+ "stop": per_page
+ }
+ sql = """SELECT
+ s.LOG_LEVEL as level,
+ s.LOG_INFO as info,
+ s.LOG_TIME as time,
+ s.S_IP as ip,
+ CONCAT(u.USER_NAME,"(ID:",u.USER_ID,")") as user
+ from %(syslog)s s,%(user)s u WHERE s.USER_ID=u.USER_ID LIMIT %(start)s,%(stop)s """ % tabs
+ da.cursor.execute(sql)
+ log_list = da.cursor.fetchall()
return {"log_data": log_list}
diff --git a/server/apps/util.py b/server/apps/util.py
index 1395ebb..fa5caae 100644
--- a/server/apps/util.py
+++ b/server/apps/util.py
@@ -19,7 +19,8 @@ class DataHandler:
"agent": MYSQL_TAB_AGENT,
"task": MYSQL_TAB_TASK,
"user": MYSQL_TAB_USER,
- "target": MYSQL_TAB_TARGETDATA}
+ "target": MYSQL_TAB_TARGETDATA,
+ "syslog": MYSQL_TAB_SYSLOG, }
# 参数与数据表中时间字段的映射关系
timemapping = {