From a9c95bc68fd68adda082e428d2c717f0d2af4ec0 Mon Sep 17 00:00:00 2001 From: handingkang <18791985373@163.com> Date: Tue, 23 Apr 2024 09:53:51 +0800 Subject: 分工信息规划 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/apps/login.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ server/apps/sysinfo.py | 8 ++++++-- server/apps/task.py | 4 +++- server/apps/util.py | 1 + 4 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 server/apps/login.py diff --git a/server/apps/login.py b/server/apps/login.py new file mode 100644 index 0000000..c98f787 --- /dev/null +++ b/server/apps/login.py @@ -0,0 +1,46 @@ +# 登录 +from apiflask import APIBlueprint +from apiflask.fields import String, Integer + +bp = APIBlueprint("登录退出接口集合", __name__, url_prefix="/login") + + +# 用户登录处理函数 +@bp.post("/") +@bp.doc("登录接口", + description="输入用户名和密码,返回响应码code,消息msg以及是否成功登陆标识status
若成功登录则msg返回用户编号") +@bp.input({ + "username": String(), + "pwd": String() +}) +@bp.output({ + # 响应码 + "code": Integer, + # 返回消息 + "msg": String, + # 是否成功登录 + "status": String, +}) +# TODO:登录处理(For 石昊月师弟) +def login(json_data): + pass + + +# 用户退出处理函数 +@bp.post("/") +@bp.doc("退出登录接口", description="输入用户名和用户编号,返回响应码code,消息msg以及是否成功退出标识status") +@bp.input({ + "id": String(), + "username": String() +}) +@bp.output({ + # 响应码 + "code": Integer, + # 返回消息 + "msg": String, + # 是否成功退出 + "status": String, +}) +# TODO:退出处理(For 石昊月师弟) +def logout(json_data): + pass diff --git a/server/apps/sysinfo.py b/server/apps/sysinfo.py index 04e5cbf..a59d7b5 100644 --- a/server/apps/sysinfo.py +++ b/server/apps/sysinfo.py @@ -95,9 +95,13 @@ def target_date(): # 系统操作日志获取接口 @bp.get("/log") @bp.input({ + # 开始时间 "begin": Date(), + # 结束时间 "end": Date(), + # 日志等级 "level": String(validate=OneOf(["INFO", "WARNING", "ERROR"])), + # 用户名 "user": String(), "per_page": Integer(load_default=10), "page": Integer(load_default=1) @@ -108,7 +112,7 @@ def target_date(): "log_data": List(Nested(LogOut())), "total": Integer() }) -# TODO:完善 +# TODO:完善功能,根据时间或日志等级或用户名筛选获取日志数据(For 石昊月师弟) def sys_log(query_data): # 每页显示多少项 per_page = query_data["per_page"] @@ -118,7 +122,7 @@ def sys_log(query_data): "syslog": MYSQL_TAB_SYSLOG, "user": MYSQL_TAB_USER, "start": (page - 1) * per_page, - "stop": per_page + "stop": (page - 1) * per_page + per_page } sql = """SELECT s.LOG_LEVEL as level, diff --git a/server/apps/task.py b/server/apps/task.py index 751a4a1..5993ee5 100644 --- a/server/apps/task.py +++ b/server/apps/task.py @@ -161,7 +161,7 @@ def tasks_state(query_data): "code": Integer(), "data": List(Nested(TaskState())) }) -# TODO:任务详情接口具体实现 +# TODO:任务详情信息获取接口具体实现 def task_info(query_data): print(query_data) round = random.randint(1, 10) @@ -189,6 +189,7 @@ def task_info(query_data): @bp.get("/tp") @bp.doc("任务策略执行日志获取接口") @bp.input({ + # 任务策略id (taskpolicy) "id": String(required=True), "per_page": Integer(load_default=10), "page": Integer(load_default=1) @@ -198,6 +199,7 @@ def task_info(query_data): "data": List(Nested(TaskLog())), "total": Integer() }) +# TODO:功能实现(For 石昊月师弟) def taskpolicy_log(query_data): per_page = query_data["per_page"] page = query_data["page"] diff --git a/server/apps/util.py b/server/apps/util.py index 7a7932f..337c946 100644 --- a/server/apps/util.py +++ b/server/apps/util.py @@ -214,6 +214,7 @@ class DataHandler: def count_data(self, search: dict = None, data_type="agent"): return self.get_data(search=search, data_type=data_type, count=True) + # 统计一段时间内的信息数量 def count_data_by_time(self, data_type="agent", time=None, search=None): tabname = model.tabmapping[data_type] timename = model.timemapping[data_type] -- cgit v1.2.3 From 101f1831c23228ec1a92e30ba4130d36c5f21cbb Mon Sep 17 00:00:00 2001 From: 韩丁康 Date: Tue, 23 Apr 2024 09:59:52 +0800 Subject: 库表关系设计同步 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...45\205\263\347\263\273\350\256\276\350\256\241.pdf" | Bin 0 -> 233503 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 "YYDNS \345\272\223\350\241\250\345\205\263\347\263\273\350\256\276\350\256\241.pdf" diff --git "a/YYDNS \345\272\223\350\241\250\345\205\263\347\263\273\350\256\276\350\256\241.pdf" "b/YYDNS \345\272\223\350\241\250\345\205\263\347\263\273\350\256\276\350\256\241.pdf" new file mode 100644 index 0000000..1681d68 Binary files /dev/null and "b/YYDNS \345\272\223\350\241\250\345\205\263\347\263\273\350\256\276\350\256\241.pdf" differ -- cgit v1.2.3 From c1ceefb5a22ac661f3ee34aa169cba4cf818951e Mon Sep 17 00:00:00 2001 From: 韩丁康 Date: Tue, 23 Apr 2024 10:02:05 +0800 Subject: README更新 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 +++++- server/README.md | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a18398a..6670464 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # yserver ## 简介 -yy服务端代码 +yy服务端代码,采用Flask+Mysql开发。 + +server文件夹为主控端代码 + +agent文件夹为代理端代码 diff --git a/server/README.md b/server/README.md index f81b547..e2260d4 100644 --- a/server/README.md +++ b/server/README.md @@ -19,6 +19,7 @@ fake分支,用于快速定义新的数据接口与前端对接 | sysmanage.py | 系统管理 | | target.py | 目标感知 | | task.py | 任务管理 | +| login.py |用户登陆退出| model.py文件包含了一些参数与数据库表字段名或类型之间的映射关系 -- cgit v1.2.3 From 402c1bdfc2dca8c249898e98844b0ca95478f43f Mon Sep 17 00:00:00 2001 From: 韩丁康 Date: Tue, 23 Apr 2024 10:03:56 +0800 Subject: 废除server.csv记录表使用 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/server.csv | 8 -------- ...7\274\210\345\267\262\345\272\237\345\274\203\357\274\211.csv" | 8 ++++++++ 2 files changed, 8 insertions(+), 8 deletions(-) delete mode 100644 server/server.csv create mode 100644 "server/server\357\274\210\345\267\262\345\272\237\345\274\203\357\274\211.csv" diff --git a/server/server.csv b/server/server.csv deleted file mode 100644 index 44d0c3b..0000000 --- a/server/server.csv +++ /dev/null @@ -1,8 +0,0 @@ -id,name,ip,loc,port -1,新加坡测试节点,8.210.161.5,新加坡,2525 -2,美国测试节点,8.217.120.200,美国弗吉尼亚,2525 -3,中国大陆测试节点,45.76.153.254,中国北京,2525 -4,香港测试节点,139.180.153.62,香港,2525 -5,日本测试节点,149.28.149.175,日本东京,2525 -6,法国测试节点,45.76.145.78,法国巴黎,2525 -7,德国测试节点,139.180.187.240,德国法兰克福,2525 diff --git "a/server/server\357\274\210\345\267\262\345\272\237\345\274\203\357\274\211.csv" "b/server/server\357\274\210\345\267\262\345\272\237\345\274\203\357\274\211.csv" new file mode 100644 index 0000000..44d0c3b --- /dev/null +++ "b/server/server\357\274\210\345\267\262\345\272\237\345\274\203\357\274\211.csv" @@ -0,0 +1,8 @@ +id,name,ip,loc,port +1,新加坡测试节点,8.210.161.5,新加坡,2525 +2,美国测试节点,8.217.120.200,美国弗吉尼亚,2525 +3,中国大陆测试节点,45.76.153.254,中国北京,2525 +4,香港测试节点,139.180.153.62,香港,2525 +5,日本测试节点,149.28.149.175,日本东京,2525 +6,法国测试节点,45.76.145.78,法国巴黎,2525 +7,德国测试节点,139.180.187.240,德国法兰克福,2525 -- cgit v1.2.3