diff options
| author | handingkang <[email protected]> | 2024-04-10 16:22:53 +0800 |
|---|---|---|
| committer | handingkang <[email protected]> | 2024-04-10 16:22:53 +0800 |
| commit | 8f38b07715fca9f698666d82e11d81de31be159a (patch) | |
| tree | 79b441ddf22f3058a20d081fb4e2e885e90f25a6 | |
| parent | 0fe0e0ec4dda1c78bee1701eb74cc9c4d0128cd9 (diff) | |
仪表盘界面接口开发尝试
| -rw-r--r-- | server/apps/sysinfo.py | 37 | ||||
| -rw-r--r-- | server/apps/util.py | 3 |
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 = { |
