过滤查询,完善基础功能,解决unicode编码问题,增加磁盘监控对于docker容器的判断

This commit is contained in:
mkg
2021-03-19 22:20:45 +08:00
parent d2a2b35317
commit 3dcdf8e1a3
20 changed files with 513 additions and 114 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ ma = Marshmallow()
# 首页
@admin_index.route('/')
@PreAuthorize('index:index')
@login_required
def index():
username = current_user.username
return render_template('admin/index.html', username=username)
+16 -13
View File
@@ -1,3 +1,4 @@
import os
import platform
import re
from datetime import datetime
@@ -43,20 +44,22 @@ def index():
memory_total = str(round(memory_information.total / 1024 / 1024))
memory_free = str(round(memory_information.free / 1024 / 1024))
# 磁盘信息
disk_partitions = psutil.disk_partitions()
disk_partitions_list = []
for i in disk_partitions:
a = psutil.disk_usage(i.device)
disk_partitions_dict = {
'device': i.device,
'fstype': i.fstype,
'total': str(round(a.total / 1024 / 1024)),
'used': str(round(a.used / 1024 / 1024)),
'free': str(round(a.free / 1024 / 1024)),
'percent': a.percent
}
disk_partitions_list.append(disk_partitions_dict)
disk_partitions_list = []
# 判断是否在容器中
if not os.path.exists('/.dockerenv'):
disk_partitions = psutil.disk_partitions()
for i in disk_partitions:
a = psutil.disk_usage(i.device)
disk_partitions_dict = {
'device': i.device,
'fstype': i.fstype,
'total': str(round(a.total / 1024 / 1024)),
'used': str(round(a.used / 1024 / 1024)),
'free': str(round(a.free / 1024 / 1024)),
'percent': a.percent
}
disk_partitions_list.append(disk_partitions_dict)
# 开机时间
boot_time = datetime.fromtimestamp(psutil.boot_time()).replace(microsecond=0)
+16 -1
View File
@@ -1,6 +1,6 @@
from flask import Blueprint, render_template, request, jsonify
from flask_login import login_required
from applications.service.admin.power import get_power_dict, select_parent, save_power, remove_power
from applications.service.admin.power import get_power_dict, select_parent, save_power, remove_power, get_power_by_id
admin_power = Blueprint('adminPower', __name__, url_prefix='/admin/power')
@@ -52,3 +52,18 @@ def remove(id):
return jsonify(success=True, msg="删除成功")
else:
return jsonify(success=False, msg="删除失败")
# 权限编辑
@admin_power.route('/edit/<int:id>', methods=['GET', 'POST'])
def edit(id):
power = get_power_by_id(id)
return render_template('admin/power/edit.html',power=power)
# 权限更新
@admin_power.route('/update', methods=['PUT'])
def update():
res = update_role(request.json)
if not res:
return jsonify(success=False, msg="更新角色失败")
return jsonify(success=True, msg="更新角色成功")
+37 -75
View File
@@ -1,7 +1,8 @@
from flask import Blueprint, render_template, request, jsonify
from flask_login import login_required
from applications.service.admin.role import get_role_data_dict, add_role, get_role_power, update_role_power
from applications.service.admin.role import get_role_data_dict, add_role, get_role_power, update_role_power, \
get_role_by_id, update_role
admin_role = Blueprint('adminRole', __name__, url_prefix='/admin/role')
@@ -13,20 +14,20 @@ def index():
return render_template('admin/role/main.html')
# @admin_role.route('/test')
# @login_required
# def test():
# return jsonify(current_user.role)
# 用户 分页查询
# 表格数据
@admin_role.route('/data')
@login_required
def table():
page = request.args.get('page', type=int)
limit = request.args.get('limit', type=int)
data, count = get_role_data_dict(page=page, limit=limit)
roleName = request.args.get('roleName', type=str)
roleCode = request.args.get('roleCode', type=str)
filters = {}
if roleName:
filters["name"] = ('%' + roleName + '%')
if roleCode:
filters["code"] = ('%' + roleCode + '%')
data, count = get_role_data_dict(page=page, limit=limit, filters=filters)
res = {
'msg': "",
'code': 0,
@@ -45,6 +46,7 @@ def add():
return render_template('admin/role/add.html')
# 角色增加
@admin_role.route('/save', methods=['POST'])
@login_required
def save():
@@ -53,89 +55,49 @@ def save():
return jsonify(msg="成功", success=True)
# 角色授权
@admin_role.route('/power/<int:id>')
def power(id):
return render_template('admin/role/power.html', id=id)
# 获取角色权限
@admin_role.route('/getRolePower/<int:id>')
def getRolePower(id):
powers = get_role_power(id)
res = {
"data": powers,
"status":{"code": 200, "message": "默认"}
"status": {"code": 200, "message": "默认"}
}
return jsonify(res)
@admin_role.route('/saveRolePower',methods=['PUT'])
# 保存角色权限
@admin_role.route('/saveRolePower', methods=['PUT'])
def saveRolePower():
req_form =request.form
powerIds=req_form.get("powerIds")
power_list=powerIds.split(',')
roleId=req_form.get("roleId")
update_role_power(id=roleId,power_list=power_list)
return jsonify(success=True,msg="授权成功")
# @admin_user.route('/delete', methods=['POST'])
# @login_required
# def delete():
# id = request.form.get('id')
# user = delete_by_id()
# db.session.commit()
# if user:
# return jsonify(msg="删除成功", code=200)
# else:
# return jsonify(msg="删除失败", code=999)
#
# 编辑用户
# @admin_user.route('/edit/<int:id>', methods=['GET', 'POST'])
# @login_required
# def update(id):
# if request.method == 'POST':
# username = request.form.get('username')
# password = request.form.get('password')
# role = request.form.get('role')
# if username and role:
# if password is None:
# if User.query.filter_by(id=id).first() is not None:
# update_user(id,username)
# return jsonify(msg="修改成功", code=200)
#
# else:
# res = {"msg": "用户已经存在", "code": 200}
# return jsonify(res)
# else:
# user = User.query.filter_by(id=id).first()
# if user is not None:
# User.query.filter_by(id=id).update({'username': username, 'role': role})
# user.set_password(password)
# db.session.commit()
# return jsonify(msg="修改成功", code=200)
# else:
# return jsonify(msg="用户不存在", code=200)
#
# else:
#
# return jsonify(msg="用户名密码角色不能为空", code=999)
# else:
# role = ['管理员', '普通用户']
# user = User.query.filter_by(id=id).first()
# return render_template('admin/user_edit.html', user=user, role=role)
req_form = request.form
powerIds = req_form.get("powerIds")
power_list = powerIds.split(',')
roleId = req_form.get("roleId")
update_role_power(id=roleId, power_list=power_list)
return jsonify(success=True, msg="授权成功")
# 更新用户状态
# @admin_user.route('/update/status', methods=['POST'])
# @login_required
# def ustatus():
# id = request.form.get('id')
# status = request.form.get('status')
# if id and status:
# res = update_status(status=status)
# return res
# return jsonify(msg="出错啦", code=999)
# 角色编辑
@admin_role.route('/edit/<int:id>', methods=['GET', 'POST'])
def edit(id):
role = get_role_by_id(id)
return render_template('admin/role/edit.html', role=role)
# 更新角色
@admin_role.route('/update', methods=['PUT'])
def update():
res = update_role(request.json)
if not res:
return jsonify(success=False, msg="更新角色失败")
return jsonify(success=True, msg="更新角色成功")
# 批量删除
# @admin_user.route('/batchRemove', methods=['GET', 'POST'])
# @login_required
+8 -1
View File
@@ -21,7 +21,14 @@ def index():
def data():
page = request.args.get('page', type=int)
limit = request.args.get('limit', type=int)
data, count = get_user_data_dict(page=page, limit=limit)
realName = request.args.get('realName', type=str)
username = request.args.get('username',type=str)
filters = {}
if realName:
filters["realname"]=('%'+realName+'%')
if username:
filters["username"]=('%'+username+'%')
data, count = get_user_data_dict(page=page, limit=limit, filters=filters)
res = {
'msg': "",
'code': 0,