mirror of
https://github.com/midoks/mdserver-web.git
synced 2026-10-10 01:39:25 +08:00
update
This commit is contained in:
@@ -14,4 +14,9 @@ from flask import Blueprint, render_template
|
||||
blueprint = Blueprint('crontab', __name__, url_prefix='/crontab', template_folder='../../templates/default')
|
||||
@blueprint.route('/index', endpoint='index')
|
||||
def index():
|
||||
return render_template('crontab.html', data={})
|
||||
return render_template('crontab.html', data={})
|
||||
|
||||
# 插件列表
|
||||
@blueprint.route('/list', endpoint='list', methods=['GET','POST'])
|
||||
def list():
|
||||
return []
|
||||
@@ -17,6 +17,6 @@ def index():
|
||||
return render_template('index.html', data = {})
|
||||
|
||||
|
||||
@blueprint.route('/check_login')
|
||||
@blueprint.route('/check_login',methods=['GET','POST'])
|
||||
def check_login():
|
||||
return "0"
|
||||
|
||||
@@ -33,6 +33,50 @@ class Version(db.Model):
|
||||
class Role(db.Model):
|
||||
"""定义安全角色"""
|
||||
__tablename__ = 'role'
|
||||
id = db.Column(db.Integer(), primary_key=True)
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
name = db.Column(db.String(128), unique=True, nullable=False)
|
||||
description = db.Column(db.String(256), nullable=False)
|
||||
description = db.Column(db.String(256), nullable=False)
|
||||
|
||||
class Option(db.Model):
|
||||
"""定义类型"""
|
||||
__tablename__ = 'option'
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
name = db.Column(db.String(128), unique=True, nullable=False, comment="配置名称")
|
||||
value = db.Column(db.TEXT, unique=False, nullable=False, comment="内容")
|
||||
|
||||
class User(db.Model):
|
||||
"""定义登录用户"""
|
||||
__tablename__ = 'user'
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
name = db.Column(db.String(128), unique=True, nullable=False)
|
||||
password = db.Column(db.String(128), unique=False, nullable=False)
|
||||
login_ip = db.Column(db.String(128), unique=False, nullable=True)
|
||||
login_time = db.Column(db.String(128), unique=False, nullable=True)
|
||||
phone = db.Column(db.String(20), unique=False, nullable=False,comment="手机")
|
||||
email = db.Column(db.String(320), nullable=False, comment="邮件")
|
||||
|
||||
class Crontab(db.Model):
|
||||
"""定义计划任务"""
|
||||
__tablename__ = 'crontab'
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
name = db.Column(db.TEXT, unique=True, nullable=False, comment="任务名称")
|
||||
type = db.Column(db.String(128), unique=False, nullable=False, comment="计划类型")
|
||||
where1 = db.Column(db.TEXT, unique=False, nullable=True, comment="执行条件")
|
||||
where_hour = db.Column(db.TEXT, unique=False, nullable=True, comment="执行条件/小时")
|
||||
where_minute = db.Column(db.TEXT, unique=False, nullable=True, comment="执行条件/分钟")
|
||||
echo = db.Column(db.TEXT, unique=False, nullable=True, comment="脚本保存名称")
|
||||
sname = db.Column(db.TEXT, unique=False, nullable=True, default='',comment="名称")
|
||||
sbody = db.Column(db.TEXT, unique=False, nullable=True, default='',comment="脚本")
|
||||
stype = db.Column(db.TEXT, unique=False, nullable=True, default='',comment="脚本类型")
|
||||
url_address = db.Column(db.TEXT, unique=False, nullable=True, default='',comment="URL访问地址")
|
||||
backup_to = db.Column(db.TEXT, unique=False, nullable=True, comment="备份地址")
|
||||
save = db.Column(db.Integer, unique=False, nullable=True, default=3,comment="备份数量")
|
||||
status = db.Column(db.Integer, unique=False, nullable=True, default=1, comment="状态")
|
||||
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||||
update_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -10,12 +10,20 @@
|
||||
|
||||
|
||||
from flask import Blueprint, render_template
|
||||
from utils.mwplugin import MwPlugin
|
||||
|
||||
blueprint = Blueprint('site', __name__, url_prefix='/site', template_folder='../../templates/default')
|
||||
@blueprint.route('/index', endpoint='index')
|
||||
def index():
|
||||
return render_template('site.html', data={})
|
||||
|
||||
# 插件列表
|
||||
@blueprint.route('/list', endpoint='list', methods=['GET','POST'])
|
||||
def list():
|
||||
pg = MwPlugin.instance()
|
||||
# print(pg.getList())
|
||||
return pg.getList()
|
||||
|
||||
@blueprint.route('/get_site_types', endpoint='get_site_types',methods=['POST'])
|
||||
def get_site_types():
|
||||
return []
|
||||
@@ -195,6 +195,34 @@ def getOsID():
|
||||
data = execShell(cmd)
|
||||
return data[0].strip()
|
||||
|
||||
# 获取文件权限描述
|
||||
def getFileStatsDesc(
|
||||
filename: str | None = None,
|
||||
path: str | None = None,
|
||||
):
|
||||
# print(filename,path)
|
||||
filename = filename.replace('//', '/')
|
||||
try:
|
||||
stat = os.stat(filename)
|
||||
accept = str(oct(stat.st_mode)[-3:])
|
||||
mtime = str(int(stat.st_mtime))
|
||||
user = ''
|
||||
try:
|
||||
user = str(pwd.getpwuid(stat.st_uid).pw_name)
|
||||
except:
|
||||
user = str(stat.st_uid)
|
||||
size = str(stat.st_size)
|
||||
link = ''
|
||||
if os.path.islink(filename):
|
||||
link = ' -> ' + os.readlink(filename)
|
||||
|
||||
if path:
|
||||
tmp_path = (path + '/').replace('//', '/')
|
||||
filename = filename.replace(tmp_path, '', 1)
|
||||
|
||||
return filename + ';' + size + ';' + mtime + ';' + accept + ';' + user + ';' + link
|
||||
except Exception as e:
|
||||
return ';;;;;'
|
||||
|
||||
def getFileSuffix(file):
|
||||
tmp = file.split('.')
|
||||
|
||||
Reference in New Issue
Block a user