pull/632/head
Mr Chen 6 months ago
parent 8af22d14c8
commit 5796e311a9
  1. 31
      panel_task.py
  2. 6
      web/admin/site/site.py
  3. 25
      web/static/app/site.js
  4. 4
      web/thisdb/sites.py
  5. 19
      web/utils/site.py

@ -114,10 +114,10 @@ def runPanelTask():
thisdb.setTaskData(run_task['id'], end=end)
thisdb.setTaskStatus(run_task['id'], 1)
except Exception as e:
print(mw.getTracebackInfo())
pass
# 站点过期检查
# siteEdate()
siteEdateCheck()
# 任务队列
def startPanelTask():
@ -130,25 +130,20 @@ def startPanelTask():
startPanelTask()
# 网站到期处理
def siteEdate():
global oldEdate
def siteEdateCheck():
try:
if not oldEdate:
oldEdate = mw.readFile('data/edate.pl')
if not oldEdate:
oldEdate = '0000-00-00'
mEdate = time.strftime('%Y-%m-%d', time.localtime())
if oldEdate == mEdate:
from utils.site import sites as MwSites
website_edate = thisdb.getOption('website_edate', default='0000-00-00')
now_time_ymd = time.strftime('%Y-%m-%d', time.localtime())
if website_edate == now_time_ymd:
return False
edateSites = mw.M('sites').where('edate>? AND edate<? AND (status=? OR status=?)',
('0000-00-00', mEdate, 1, '正在运行')).field('id,name').select()
import site_api
for site in edateSites:
site_api.site_api().stop(site['id'], site['name'])
oldEdate = mEdate
mw.writeFile('data/edate.pl', mEdate)
site_list = thisdb.getSitesEdateList(now_time_ymd)
for site in site_list:
MwSites.instance().stop(site['id'])
thisdb.setOption('website_edate', now_time_ymd)
except Exception as e:
print(mw.getTracebackInfo())
pass
def systemTask():

@ -58,16 +58,14 @@ def add():
@panel_login_required
def stop():
site_id = request.form.get('id', '')
site_name = request.form.get('name', '')
return MwSites.instance().stop(site_id, site_name)
return MwSites.instance().stop(site_id)
# 站点开启
@blueprint.route('/start', endpoint='start',methods=['POST'])
@panel_login_required
def start():
site_id = request.form.get('id', '')
site_name = request.form.get('name', '')
return MwSites.instance().start(site_id, site_name)
return MwSites.instance().start(site_id)
# 添加站点 - 域名
@blueprint.route('/add_domain', endpoint='add_domain',methods=['POST'])

@ -10,6 +10,16 @@ $('#site_search').click(function(){
getWeb(1, -1, $('#site_search_input').val());
});
//设置到期日期
function getDate(a) {
var dd = new Date();
dd.setTime(dd.getTime() + (a == undefined || isNaN(parseInt(a)) ? 0 : parseInt(a)) * 86400000);
var y = dd.getFullYear();
var m = dd.getMonth() + 1;
var d = dd.getDate();
return y + "-" + (m < 10 ? ('0' + m) : m) + "-" + (d < 10 ? ('0' + d) : d);
}
/**
* 取回网站数据列表
* @param {Number} page 当前页
@ -84,22 +94,12 @@ $('#site_search').click(function(){
</td></tr>"
$("#webBody").append(body);
//setEdate(data.data[i].id,data.data[i].edate);
//设置到期日期
function getDate(a) {
var dd = new Date();
dd.setTime(dd.getTime() + (a == undefined || isNaN(parseInt(a)) ? 0 : parseInt(a)) * 86400000);
var y = dd.getFullYear();
var m = dd.getMonth() + 1;
var d = dd.getDate();
return y + "-" + (m < 10 ? ('0' + m) : m) + "-" + (d < 10 ? ('0' + d) : d);
}
$('#webBody').on('click','#site_'+ data.data[i].id,function(){
var _this = $(this);
var id = $(this).attr('data-ids');
laydate.render({
elem: '#site_'+ id,
min:getDate(1),
min:getDate(-1),
max:'9999-12-31',
vlue:getDate(365),
type:'date',
@ -111,7 +111,7 @@ $('#site_search').click(function(){
if(_this.html() == '永久'){
dates = '0000-00-00';
}
var loadT = layer.msg(lan.site.saving_txt, { icon: 16, time: 0, shade: [0.3, "#000"]});
var loadT = layer.msg('正在保存...', { icon: 16, time: 0, shade: [0.3, "#000"]});
$.post('/site/set_end_date','id='+id+'&edate='+dates,function(rdata){
layer.close(loadT);
layer.msg(rdata.msg,{icon:rdata.status?1:5});
@ -123,7 +123,6 @@ $('#site_search').click(function(){
}
if(body.length < 10){
body = "<tr><td colspan='9' style='text-align: center;'>当前没有站点数据</td></tr>";
// $(".dataTables_paginate").hide();
$("#webBody").html(body);
}
//输出数据列表

@ -66,6 +66,10 @@ def isSitesExist(name):
return True
return False
def getSitesEdateList(edate):
elist = mw.M('sites').field(__FIELD).where('edate>? AND edate<? AND status=?', ('0000-00-00', edate, 1,)).select()
return elist
def getSitesList(
page:int | None = 1,
size:int | None = 10,

@ -211,7 +211,9 @@ class sites(object):
mw.restartWeb()
return mw.returnData(True, '添加成功')
def stop(self, site_id, site_name):
def stop(self, site_id):
site_info = thisdb.getSitesById(site_id)
path = self.setupPath + '/stop'
if not os.path.exists(path):
os.makedirs(path)
@ -225,27 +227,26 @@ class sites(object):
mw.execShell('mkdir -p ' + bpath)
mw.execShell('ln -sf ' + path +'/index.html ' + bpath + '/index.html')
site_info = thisdb.getSitesById(site_id)
# nginx
file = self.getHostConf(site_name)
file = self.getHostConf(site_info['name'])
conf = mw.readFile(file)
if conf:
conf = conf.replace(site_info['path'], path)
mw.writeFile(file, conf)
thisdb.setSitesData(site_id, status='0')
msg = mw.getInfo('网站[{1}]已被停用!', (site_name,))
msg = mw.getInfo('网站[{1}]已被停用!', (site_info['name'],))
mw.writeLog('网站管理', msg)
mw.restartWeb()
return mw.returnData(True, '站点已停用!')
def start(self, site_id, site_name):
path = self.setupPath + '/stop'
def start(self, site_id):
site_info = thisdb.getSitesById(site_id)
path = self.setupPath + '/stop'
# nginx
file = self.getHostConf(site_name)
file = self.getHostConf(site_info['name'])
conf = mw.readFile(file)
if conf:
conf = conf.replace(path, site_info['path'])
@ -253,7 +254,7 @@ class sites(object):
thisdb.setSitesData(site_id, status='1')
msg = mw.getInfo('网站[{1}]已被启用!', (site_name,))
msg = mw.getInfo('网站[{1}]已被启用!', (site_info['name'],))
mw.writeLog('网站管理', msg)
mw.restartWeb()
return mw.returnData(True, '站点已启用!')

Loading…
Cancel
Save