pull/628/head
Mr Chen 7 months ago
parent 2790a3890b
commit 8ad9153012
  1. 7
      web/admin/crontab/__init__.py
  2. 2
      web/admin/dashboard/__init__.py
  3. 48
      web/admin/model/__init__.py
  4. 8
      web/admin/site/__init__.py
  5. 28
      web/core/mw.py

@ -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('.')

Loading…
Cancel
Save