update
This commit is contained in:
parent
86ac000117
commit
e4ad01dd42
|
|
@ -1,36 +0,0 @@
|
|||
# coding:utf-8
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# MW-Linux面板
|
||||
# ---------------------------------------------------------------------------------
|
||||
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved.
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Author: midoks <midoks@163.com>
|
||||
# ---------------------------------------------------------------------------------
|
||||
|
||||
|
||||
from .initdb import *
|
||||
|
||||
from .logs import addLog,clearLog
|
||||
|
||||
from .option import getOption,getOptionByJson,setOption
|
||||
from .option import setOption
|
||||
|
||||
from .sites import getSitesCount
|
||||
|
||||
from .task import addTask
|
||||
from .task import getTaskCount,getTaskUnexecutedCount,getTaskList,getTaskFirstByRun,getTaskRunList
|
||||
from .task import setTaskStatus,setTaskData
|
||||
|
||||
from .user import isLoginCheck
|
||||
from .user import getUserByName,getUserById,getUserByRoot
|
||||
from .user import setUserByRoot
|
||||
|
||||
from .firewall import addFirewall
|
||||
|
||||
from .temp_login import getTempLoginByToken,clearTempLogin
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
# coding:utf-8
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# MW-Linux面板
|
||||
# ---------------------------------------------------------------------------------
|
||||
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved.
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Author: midoks <midoks@163.com>
|
||||
# ---------------------------------------------------------------------------------
|
||||
|
||||
from admin.model import db, Firewall
|
||||
|
||||
import core.mw as mw
|
||||
|
||||
|
||||
|
||||
def addFirewall(port,
|
||||
protocol: str | None = 'tcp',
|
||||
ps: str | None = '备注'
|
||||
) -> bool:
|
||||
'''
|
||||
设置配置的值
|
||||
:port -> str 端口 (必填)
|
||||
:protocol -> str 协议 (可选|tcp,udp,tcp/udp)
|
||||
:ps -> str 备注 (可选)
|
||||
'''
|
||||
now_time = mw.formatDate()
|
||||
add_data = Firewall(
|
||||
port=port,
|
||||
protocol=protocol,
|
||||
add_time=now_time,
|
||||
update_time=now_time)
|
||||
db.session.add(add_data)
|
||||
db.session.commit()
|
||||
return True
|
||||
|
||||
|
||||
def getFirewallCountByPort(port):
|
||||
return Firewall.query.filter(Tasks.port==port).count()
|
||||
|
||||
|
||||
|
|
@ -1,194 +0,0 @@
|
|||
# coding:utf-8
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# MW-Linux面板
|
||||
# ---------------------------------------------------------------------------------
|
||||
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved.
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Author: midoks <midoks@163.com>
|
||||
# ---------------------------------------------------------------------------------
|
||||
|
||||
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
# from flask_security import UserMixin, RoleMixin
|
||||
import config
|
||||
|
||||
SCHEMA_VERSION = 1
|
||||
|
||||
|
||||
db = SQLAlchemy(
|
||||
engine_options={
|
||||
'pool_size': config.CONFIG_DATABASE_CONNECTION_POOL_SIZE,
|
||||
'max_overflow': config.CONFIG_DATABASE_CONNECTION_MAX_OVERFLOW,
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class Version(db.Model):
|
||||
"""用于参考/升级的版本号"""
|
||||
__tablename__ = 'version'
|
||||
name = db.Column(db.String(32), primary_key=True)
|
||||
value = db.Column(db.Integer(), nullable=False)
|
||||
|
||||
class Role(db.Model):
|
||||
"""定义安全角色"""
|
||||
__tablename__ = 'role'
|
||||
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)
|
||||
|
||||
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="配置名称")
|
||||
type = db.Column(db.String(50), unique=False, nullable=False, default='common',comment="计划类型:common/hook/web")
|
||||
value = db.Column(db.TEXT, unique=False, nullable=False, comment="内容")
|
||||
|
||||
class Users(db.Model):
|
||||
"""定义登录用户"""
|
||||
__tablename__ = 'users'
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
name = db.Column(db.String(128), unique=True, nullable=False, comment="用户名")
|
||||
password = db.Column(db.String(128), unique=False, nullable=False, comment="密码")
|
||||
login_ip = db.Column(db.String(128), unique=False, nullable=True, comment="登录IP")
|
||||
login_time = db.Column(db.String(128), unique=False, nullable=True, comment="登录时间")
|
||||
phone = db.Column(db.String(20), unique=False, nullable=False,comment="手机")
|
||||
email = db.Column(db.String(320), nullable=False, comment="邮件")
|
||||
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||||
update_time = db.Column(db.TEXT, 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="更新时间")
|
||||
|
||||
class Logs(db.Model):
|
||||
"""定义日志"""
|
||||
__tablename__ = 'logs'
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
uid = db.Column(db.Integer(), unique=False, nullable=False, comment="用户ID")
|
||||
type = db.Column(db.String(128), unique=False, nullable=False, comment="日志类型")
|
||||
log = db.Column(db.TEXT, unique=False, nullable=True, comment="日志内容")
|
||||
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||||
|
||||
class Firewall(db.Model):
|
||||
"""定义防火墙"""
|
||||
__tablename__ = 'firewall'
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
port = db.Column(db.Integer(), unique=False, nullable=False, comment="端口")
|
||||
protocol = db.Column(db.Integer(), unique=False, nullable=False, comment="协议/tcp/udp")
|
||||
ps = db.Column(db.TEXT, unique=False, nullable=False, comment="备注")
|
||||
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||||
update_time = db.Column(db.TEXT, nullable=False, comment="更新时间")
|
||||
|
||||
|
||||
class Backup(db.Model):
|
||||
"""定义备份"""
|
||||
__tablename__ = 'backup'
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
pid = db.Column(db.Integer(), unique=False, nullable=False, comment="父级ID")
|
||||
type = db.Column(db.String(128), unique=False, nullable=False, comment="备份类型")
|
||||
name = db.Column(db.TEXT, unique=False, nullable=False, comment="名称")
|
||||
filename = db.Column(db.TEXT, unique=False, nullable=False, comment="文件绝对位置")
|
||||
size = db.Column(db.Integer(), unique=False, nullable=False, comment="大小")
|
||||
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||||
|
||||
class Sites(db.Model):
|
||||
"""定义计划任务"""
|
||||
__tablename__ = 'sites'
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
name = db.Column(db.TEXT, unique=False, nullable=False, comment="网站名称")
|
||||
path = db.Column(db.TEXT, unique=False, nullable=False, comment="网站路径")
|
||||
index = db.Column(db.TEXT, unique=False, nullable=False, comment="")
|
||||
ps = db.Column(db.TEXT, unique=False, nullable=False, comment="备注")
|
||||
edate = db.Column(db.TEXT, unique=False, nullable=False, comment="到期时间")
|
||||
type_id = db.Column(db.TEXT, unique=False, nullable=False, comment="分类ID")
|
||||
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="更新时间")
|
||||
|
||||
class SiteType(db.Model):
|
||||
"""定义站点类型"""
|
||||
__tablename__ = 'site_type'
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
name = db.Column(db.TEXT, unique=False, nullable=False, comment="类型名称")
|
||||
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||||
update_time = db.Column(db.TEXT, nullable=False, comment="更新时间")
|
||||
|
||||
class Domain(db.Model):
|
||||
"""定义站点域名"""
|
||||
__tablename__ = 'domain'
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
pid = db.Column(db.Integer(), unique=False, nullable=False, comment="站点ID")
|
||||
name = db.Column(db.TEXT, unique=False, nullable=False, comment="域名")
|
||||
port = db.Column(db.Integer(), unique=False, nullable=False, comment="端口")
|
||||
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||||
|
||||
class Binding(db.Model):
|
||||
"""定义站点绑定"""
|
||||
__tablename__ = 'binding'
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
pid = db.Column(db.Integer(), unique=False, nullable=False, comment="站点ID")
|
||||
domain = db.Column(db.TEXT, unique=False, nullable=False, comment="域名")
|
||||
path = db.Column(db.TEXT, unique=False, nullable=False, comment="路径")
|
||||
port = db.Column(db.Integer(), unique=False, nullable=False, comment="端口")
|
||||
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||||
|
||||
|
||||
class Tasks(db.Model):
|
||||
"""定义任务"""
|
||||
__tablename__ = 'tasks'
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
name = db.Column(db.TEXT, unique=False, nullable=False, comment="任务名称")
|
||||
type = db.Column(db.TEXT, unique=False, nullable=False, comment="类型")
|
||||
cmd = db.Column(db.TEXT, unique=False, nullable=False, comment="执行命令")
|
||||
start = db.Column(db.Integer(), unique=False, nullable=True, comment="开始执行时间")
|
||||
end = db.Column(db.Integer(), unique=False, nullable=True, comment="结束执行时间")
|
||||
status = db.Column(db.Integer(), unique=False, nullable=True, default=1, comment="状态")
|
||||
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||||
|
||||
|
||||
class TempLogin(db.Model):
|
||||
"""定义临时登录"""
|
||||
__tablename__ = 'temp_login'
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
token = db.Column(db.TEXT, unique=False, nullable=False, comment="token")
|
||||
salt = db.Column(db.TEXT, unique=False, nullable=False, comment="salt")
|
||||
state = db.Column(db.Integer(), unique=False, nullable=False, comment="状态")
|
||||
login_time = db.Column(db.Integer(), unique=False, nullable=True, comment="登录时间")
|
||||
login_addr = db.Column(db.Integer(), unique=False, nullable=True, comment="登录地址")
|
||||
logout_time = db.Column(db.Integer(), unique=False, nullable=True, comment="登出时间")
|
||||
expire = db.Column(db.Integer(), unique=False, nullable=True, comment="过期时间")
|
||||
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||||
|
||||
class Panel(db.Model):
|
||||
"""定义其他面板"""
|
||||
__tablename__ = 'panel'
|
||||
id = db.Column(db.Integer(), primary_key=True,autoincrement=True, comment="ID")
|
||||
title = db.Column(db.TEXT, unique=False, nullable=False, comment="标题")
|
||||
url = db.Column(db.TEXT, unique=False, nullable=False, comment="地址")
|
||||
username = db.Column(db.Integer(), unique=False, nullable=False, comment="用户名")
|
||||
password = db.Column(db.Integer(), unique=False, nullable=True, comment="密码")
|
||||
click = db.Column(db.Integer(), unique=False, nullable=True, comment="点击次数")
|
||||
add_time = db.Column(db.TEXT, nullable=False, comment="添加时间")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
# coding:utf-8
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# MW-Linux面板
|
||||
# ---------------------------------------------------------------------------------
|
||||
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved.
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Author: midoks <midoks@163.com>
|
||||
# ---------------------------------------------------------------------------------
|
||||
|
||||
|
||||
import json
|
||||
import time
|
||||
|
||||
from admin.model import db, Logs
|
||||
import core.mw as mw
|
||||
|
||||
def clearLog():
|
||||
try:
|
||||
# from sqlalchemy import text
|
||||
# db.session.execute(text("DELETE FROM logs where id>1"))
|
||||
db.session.query(Logs).filter(Logs.id > 0).delete(synchronize_session=False)
|
||||
db.session.commit()
|
||||
except Exception as e:
|
||||
db.session.commit()
|
||||
finally:
|
||||
db.session.close()
|
||||
return True
|
||||
|
||||
def addLog(type, log,
|
||||
uid: int | None = 1
|
||||
) -> str:
|
||||
'''
|
||||
添加日志
|
||||
:type -> str 类型 (必填)
|
||||
:log -> str 日志内容 (必填)
|
||||
:uid -> int 用户ID
|
||||
'''
|
||||
now_time = mw.formatDate()
|
||||
add_logs = Logs(
|
||||
uid=uid,
|
||||
log=log,
|
||||
type=type,
|
||||
add_time=now_time)
|
||||
db.session.add(add_logs)
|
||||
db.session.commit()
|
||||
db.session.close()
|
||||
return True
|
||||
|
|
@ -1,74 +0,0 @@
|
|||
# coding:utf-8
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# MW-Linux面板
|
||||
# ---------------------------------------------------------------------------------
|
||||
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved.
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Author: midoks <midoks@163.com>
|
||||
# ---------------------------------------------------------------------------------
|
||||
|
||||
|
||||
import json
|
||||
|
||||
from admin.model import db, Option
|
||||
|
||||
def getOption(name,
|
||||
type: str | None = 'common',
|
||||
default : str | None = None
|
||||
) -> str:
|
||||
'''
|
||||
获取配置的值
|
||||
:name -> str 名称 (必填)
|
||||
:type -> str 类型 (可选|默认common)
|
||||
:default -> str 默认值 (可选)
|
||||
'''
|
||||
data = Option.query.filter_by(name=name, type=type).first()
|
||||
if data is not None:
|
||||
return data.value
|
||||
|
||||
if default is not None:
|
||||
return default
|
||||
return ''
|
||||
|
||||
def getOptionByJson(name,
|
||||
type: str | None = 'common',
|
||||
default : object | None = None
|
||||
) -> object:
|
||||
'''
|
||||
获取配置的值,返回对象类型
|
||||
:name -> str 名称 (必填)
|
||||
:type -> str 类型 (可选|默认common)
|
||||
:default -> str 默认值 (可选)
|
||||
'''
|
||||
data = Option.query.filter_by(name=name, type=type).first()
|
||||
if data is not None:
|
||||
return json.loads(data.value)
|
||||
|
||||
if default is not None:
|
||||
return default
|
||||
return []
|
||||
|
||||
def setOption(name, value,
|
||||
type: str | None = 'common'
|
||||
) -> bool:
|
||||
'''
|
||||
设置配置的值
|
||||
:name -> str 名称 (必填)
|
||||
:value -> object值 (必填)
|
||||
:type -> str 类型 (可选|默认common)
|
||||
'''
|
||||
data = Option.query.filter_by(name=name, type=type).first()
|
||||
if data is None:
|
||||
add_option = Option(
|
||||
name=name,
|
||||
type=type,
|
||||
value=value)
|
||||
db.session.add(add_option)
|
||||
db.session.commit()
|
||||
db.session.close()
|
||||
return True
|
||||
|
||||
db.session.query(Option).filter_by(name=name, type=type).update({"value":value})
|
||||
db.session.commit()
|
||||
return True
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
# coding:utf-8
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# MW-Linux面板
|
||||
# ---------------------------------------------------------------------------------
|
||||
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved.
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Author: midoks <midoks@163.com>
|
||||
# ---------------------------------------------------------------------------------
|
||||
|
||||
from admin.model import db, Sites
|
||||
|
||||
|
||||
def getSitesCount():
|
||||
return Sites.query.count()
|
||||
|
||||
|
|
@ -1,135 +0,0 @@
|
|||
# coding:utf-8
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# MW-Linux面板
|
||||
# ---------------------------------------------------------------------------------
|
||||
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved.
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Author: midoks <midoks@163.com>
|
||||
# ---------------------------------------------------------------------------------
|
||||
|
||||
from admin.model import db, Tasks
|
||||
|
||||
import core.mw as mw
|
||||
|
||||
def getTaskCount(
|
||||
status: int | None = -1
|
||||
) -> int:
|
||||
return Tasks.query.filter(Tasks.status==status).count()
|
||||
|
||||
# 未执行任务总数
|
||||
def getTaskUnexecutedCount() -> int:
|
||||
return Tasks.query.filter(Tasks.status!=1).count()
|
||||
|
||||
|
||||
def addTask(
|
||||
name: str | None = '常用任务',
|
||||
cmd: str | None = None,
|
||||
type: str | None = 'execshell',
|
||||
status: int | None = 0,
|
||||
):
|
||||
'''
|
||||
添加后台任务
|
||||
:name -> str 类型
|
||||
:cmd -> str 日志内容 (必填)
|
||||
:type -> str 用户ID
|
||||
'''
|
||||
if cmd is None:
|
||||
return False
|
||||
|
||||
add_time = mw.formatDate()
|
||||
add_data = Tasks(
|
||||
name=name,
|
||||
cmd=cmd,
|
||||
type=type,
|
||||
start=0,
|
||||
end=0,
|
||||
status=status,
|
||||
add_time=add_time)
|
||||
db.session.add(add_data)
|
||||
db.session.commit()
|
||||
db.session.close()
|
||||
return True
|
||||
|
||||
def getTaskFirstByRun() -> None:
|
||||
item = Tasks.query.filter(Tasks.status==-1).order_by(Tasks.id.asc()).first()
|
||||
|
||||
if item is None:
|
||||
return None
|
||||
row = {}
|
||||
row['id'] = item.id
|
||||
row['name'] = item.name
|
||||
row['type'] = item.type
|
||||
row['cmd'] = item.cmd
|
||||
row['start'] = item.start
|
||||
row['end'] = item.end
|
||||
row['status'] = item.status
|
||||
row['add_time'] = item.add_time
|
||||
return row
|
||||
|
||||
def getTaskList(
|
||||
status: int | None = 1,
|
||||
page: int | None = 1,
|
||||
size: int | None = 10,
|
||||
):
|
||||
pagination = Tasks.query.filter(Tasks.status==status).order_by(Tasks.id.asc()).paginate(page=int(page), per_page=int(size))
|
||||
|
||||
rows = []
|
||||
for item in pagination.items:
|
||||
t = {}
|
||||
t['id'] = item.id
|
||||
t['name'] = item.name
|
||||
t['type'] = item.type
|
||||
t['cmd'] = item.cmd
|
||||
t['start'] = item.start
|
||||
t['end'] = item.end
|
||||
t['status'] = item.status
|
||||
t['add_time'] = item.add_time
|
||||
rows.append(t)
|
||||
return rows
|
||||
|
||||
def getTaskRunList(
|
||||
page: int | None = 1,
|
||||
size: int | None = 10,
|
||||
):
|
||||
pagination = Tasks.query.filter(Tasks.status!=1).order_by(Tasks.id.asc()).paginate(page=int(page), per_page=int(size))
|
||||
|
||||
rows = []
|
||||
for item in pagination.items:
|
||||
t = {}
|
||||
t['id'] = item.id
|
||||
t['name'] = item.name
|
||||
t['type'] = item.type
|
||||
t['cmd'] = item.cmd
|
||||
t['start'] = item.start
|
||||
t['end'] = item.end
|
||||
t['status'] = item.status
|
||||
t['add_time'] = item.add_time
|
||||
rows.append(t)
|
||||
return rows
|
||||
|
||||
|
||||
|
||||
|
||||
def setTaskStatus(id,
|
||||
status: int | None = 0
|
||||
):
|
||||
Tasks.query.filter(Tasks.id==id).update({'status':status})
|
||||
db.session.commit()
|
||||
return True
|
||||
|
||||
def setTaskData(id,
|
||||
start: int | None = None,
|
||||
end: int | None = None,
|
||||
):
|
||||
update_data = {}
|
||||
|
||||
if start is not None:
|
||||
update_data['start'] = start
|
||||
if end is not None:
|
||||
update_data['end'] = end
|
||||
|
||||
Tasks.query.filter(Tasks.id==id).update(update_data)
|
||||
db.session.commit()
|
||||
return True
|
||||
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
# coding:utf-8
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# MW-Linux面板
|
||||
# ---------------------------------------------------------------------------------
|
||||
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved.
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Author: midoks <midoks@163.com>
|
||||
# ---------------------------------------------------------------------------------
|
||||
|
||||
import time
|
||||
|
||||
from admin.model import db, TempLogin
|
||||
|
||||
import core.mw as mw
|
||||
|
||||
def getTempLoginByToken(token,
|
||||
) -> None:
|
||||
'''
|
||||
获取用户信息通过用户名
|
||||
'''
|
||||
item = TempLogin.query.filter(TempLogin.token==token).first()
|
||||
if item is None:
|
||||
return None
|
||||
row = {}
|
||||
row['id'] = item.id
|
||||
row['token'] = item.token
|
||||
row['salt'] = item.salt
|
||||
row['state'] = item.state
|
||||
row['login_time'] = item.login_time
|
||||
row['login_addr'] = item.login_addr
|
||||
row['logout_time'] = item.logout_time
|
||||
row['expire'] = item.expire
|
||||
row['add_time'] = item.add_time
|
||||
return row
|
||||
|
||||
def clearTempLogin()->bool:
|
||||
'''
|
||||
清空过期数据
|
||||
'''
|
||||
now_time = int(time.time())
|
||||
TempLogin.query.filter(TempLogin.expire<now_time).delete()
|
||||
db.session.commit()
|
||||
return True
|
||||
|
|
@ -1,93 +0,0 @@
|
|||
# coding:utf-8
|
||||
|
||||
# ---------------------------------------------------------------------------------
|
||||
# MW-Linux面板
|
||||
# ---------------------------------------------------------------------------------
|
||||
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved.
|
||||
# ---------------------------------------------------------------------------------
|
||||
# Author: midoks <midoks@163.com>
|
||||
# ---------------------------------------------------------------------------------
|
||||
|
||||
from admin.model import db, Users
|
||||
|
||||
import core.mw as mw
|
||||
|
||||
def getUserByName(name,
|
||||
) -> None:
|
||||
'''
|
||||
获取用户信息通过用户名
|
||||
'''
|
||||
item = Users.query.filter(Users.name==name).first()
|
||||
if item is None:
|
||||
return None
|
||||
row = {}
|
||||
row['id'] = item.id
|
||||
row['name'] = item.name
|
||||
row['password'] = item.password
|
||||
row['login_ip'] = item.login_ip
|
||||
row['login_time'] = item.login_time
|
||||
row['phone'] = item.phone
|
||||
row['email'] = item.email
|
||||
row['add_time'] = item.add_time
|
||||
row['update_time'] = item.update_time
|
||||
return row
|
||||
|
||||
def getUserById(id,
|
||||
) -> None:
|
||||
'''
|
||||
获取用户信息通过用户名
|
||||
'''
|
||||
item = Users.query.filter(Users.id==id).first()
|
||||
if item is None:
|
||||
return None
|
||||
row = {}
|
||||
row['id'] = item.id
|
||||
row['name'] = item.name
|
||||
row['password'] = item.password
|
||||
row['login_ip'] = item.login_ip
|
||||
row['login_time'] = item.login_time
|
||||
row['phone'] = item.phone
|
||||
row['email'] = item.email
|
||||
row['add_time'] = item.add_time
|
||||
row['update_time'] = item.update_time
|
||||
return row
|
||||
|
||||
def getUserByRoot() -> None:
|
||||
'''
|
||||
获取用户信息通过用户名
|
||||
'''
|
||||
return getUserById(1)
|
||||
|
||||
def setUserByRoot(
|
||||
name: str | None = None,
|
||||
password: str | None = None,
|
||||
) -> bool:
|
||||
'''
|
||||
设置配置的值
|
||||
:name -> str 名称 (必填)
|
||||
:value -> object值 (必填)
|
||||
:type -> str 类型 (可选|默认common)
|
||||
'''
|
||||
data = {}
|
||||
|
||||
if name is not None:
|
||||
data['name'] = name
|
||||
|
||||
if password is not None:
|
||||
data['password'] = mw.md5(password)
|
||||
|
||||
if not data:
|
||||
return False
|
||||
|
||||
Users.query.filter(Users.id==1).update(data)
|
||||
db.session.commit()
|
||||
return True
|
||||
|
||||
def isLoginCheck(username, password) -> bool:
|
||||
info = getUserByName(data['username'])
|
||||
if info is None:
|
||||
return False
|
||||
|
||||
if info['password'] == mw.md5(password):
|
||||
return True
|
||||
return False
|
||||
Loading…
Reference in New Issue