You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
3.0 KiB

from flask import Blueprint, request, jsonify
import random
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
import app.request_info as request_info
import app.imitate_thread as imitate_thread
import app.sys_clean as sys_clean
import app.sys_control as sys_control
route_bp = Blueprint('route', __name__)
# 资源使用情况
@route_bp.route('/api/sys/resource', methods=['GET'])
def get_resource():
cpu_percent = cpu_usage.get_cpu_percent()
io_percent = io_usage.get_io_percent()
memory_percent = memory_usage.get_memory_percent()
status = 0
if cpu_percent >= 80 or memory_percent >= 80 or io_percent >= 97.5:
status = 1
return jsonify({
'status': status,
'online': random.randint(150, 200),
'cpu_percent': cpu_percent,
'io_percent': io_percent,
'memory_percent': memory_percent,
})
# 获取过去12小时网络传输速度
@route_bp.route('/api/sys/network_speed', methods=['GET'])
def get_network():
return jsonify({"network_speed": network_usage.get_last_12_hours_speed()})
# 最近登录信息
@route_bp.route('/api/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)
# 请求信息
@route_bp.route('/api/sys/request_info', methods=['GET'])
def get_request_info():
page_index = int(request.args.get('page_index', 1))
page_size = int(request.args.get('page_size', 10))
data = request_info.get_request_info(page_index, page_size)
return jsonify(data)
# 病毒列表
@route_bp.route('/api/sys/virus_get', methods=['GET'])
def get_virus():
return imitate_thread.get_virus_queue_data()
# 清理病毒
@route_bp.route('/api/sys/virus_clean', methods=['POST'])
def delete_virus():
names_list = request.json.get('names_list', [])
return imitate_thread.delete_virus_queue_data(names_list)
# 漏洞列表
@route_bp.route('/api/sys/bugs_get', methods=['GET'])
def get_bugs():
return imitate_thread.get_bugs_queue_data()
# 清理漏洞
@route_bp.route('/api/sys/bugs_clean', methods=['POST'])
def delete_bugs():
names_list = request.json.get('names_list', [])
return imitate_thread.delete_bugs_queue_data(names_list)
# 垃圾文件数量
@route_bp.route('/api/sys/junk_files', methods=['GET'])
def get_junk_file():
return sys_clean.get_junk_file()
# 清理垃圾文件
@route_bp.route('/api/sys/clean_junk', methods=['POST'])
def clean_junk_file():
filenames = request.json.get('file_list', [])
return sys_clean.clean_junk_file(filenames)
# cpu跑满
@route_bp.route('/api/sys/cpu_full', methods=['GET'])
def execute_cpu_full():
return sys_control.execute_cpu_full_script()
# 内存跑满
@route_bp.route('/api/sys/memory_full', methods=['GET'])
def execute_memory_full():
return sys_control.execute_memory_full_script()