From b0af585ae70333adc5f91c7ded602708622d7412 Mon Sep 17 00:00:00 2001 From: jshixiong <2645476194@qq.com> Date: Tue, 6 Aug 2024 17:14:20 +0800 Subject: [PATCH] =?UTF-8?q?feat(login):=20=E7=99=BB=E5=BD=95=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/login_info.py | 27 +++++++++++++++++++++++++++ app/route/route.py | 12 +++++++++++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 app/login_info.py diff --git a/app/login_info.py b/app/login_info.py new file mode 100644 index 0000000..a78e21a --- /dev/null +++ b/app/login_info.py @@ -0,0 +1,27 @@ +import os +import json +from flask import request + +login_file_path = '/data/ww/py_sys_monitor/login_info' + +def get_recent_login_info(page_index=1, page_size=10): + if page_index <= 0: + page_index = 1 + + if page_size <=0 | page_size > 20: + page_size = 10 + + login_info = [] + with open(login_file_path, 'r') as f: + lines = f.readlines() + + total = len(lines) + + start = (page_index - 1) * page_size + end = start + page_size + + for line in lines[start:end]: + record = json.loads(line.strip()) + login_info.append(record) + + return {"login_info" : login_info, "total" : total} \ No newline at end of file diff --git a/app/route/route.py b/app/route/route.py index 7c7e37e..6df5169 100644 --- a/app/route/route.py +++ b/app/route/route.py @@ -1,8 +1,9 @@ -from flask import Blueprint, jsonify +from flask import Blueprint, request, jsonify import app.cpu_usage as cpu_usage import app.io_usage as io_usage import app.memory_usage as memory_usage import app.network as network_usage +import app.login_info as login_info route_bp = Blueprint('route', __name__) @@ -23,3 +24,12 @@ def get_resource(): def get_network(): return jsonify(network_usage.get_last_12_hours_speed()) + + + +@route_bp.route('/sys/login_info', methods=['GET']) +def get_login_info(): + page_index = int(request.args.get('page_index', 1)) + page_size = int(request.args.get('page_size', 10)) + data = login_info.get_recent_login_info(page_index, page_size) + return jsonify(data)