时区设置

pull/522/head
Mr Chen 1 year ago
parent dcc4e14e7b
commit d09a96ec84
  1. 23
      class/core/config_api.py
  2. 52
      route/static/app/config.js
  3. 7
      route/templates/default/config.html

@ -20,6 +20,7 @@ import mw
import re
import json
import pwd
import pytz
from flask import session
from flask import request
@ -911,6 +912,21 @@ class config_api:
data['status_code_msg'] = "默认-安全入口错误提示"
return data
def getTimezoneListApi(self):
# 获取时区列表
# pytz.all_timezones | 所有
# pytz.common_timezones
return pytz.all_timezones
def setTimezoneApi(self):
# 设置时区列表
timezone = request.form.get('timezone', '').strip()
cmd = 'timedatectl set-timezone "'+timezone+'"'
mw.execShell(cmd)
return mw.returnJson(True, '设置成功!')
def get(self):
data = {}
@ -920,6 +936,13 @@ class config_api:
sformat = 'date +"%Y-%m-%d %H:%M:%S %Z %z"'
data['systemdate'] = mw.execShell(sformat)[0].strip()
# 获取时区
import datetime
import pytz
now = datetime.datetime.now()
tz_name = now.astimezone().tzinfo
data['systemdatezone'] = tz_name
data['port'] = mw.getHostPort()
data['ip'] = mw.getHostAddr()

@ -348,6 +348,58 @@ function syncDate(){
},'json');
}
function setTimezone(){
layer.open({
type: 1,
area: ["400px","200px"],
title: '设置服务器时区',
closeBtn: 1,
shift: 5,
shadeClose: false,
btn:["确定","取消"],
content: "<div class='bt-form pd20'>\
<div class='line'>\
<span class='tname'>时区</span>\
<div class='info-r'>\
<select class='bt-input-text mr5' name='timezone' style='width: 250px;'></select>\
</div>\
</div>\
</div>",
success:function(){
var tbody = '';
$.post('/config/get_timezone_list', {}, function (rdata) {
for (var i = 0; i < rdata.length; i++) {
tbody += '<option value="'+rdata[i]+'">'+rdata[i]+'</option>';
}
$('select[name="timezone"]').append(tbody);
},'json');
// for(i in msg_list){
// if (msg_list[i]['code'] == ''){
// tbody += '<option value="'+msg_list[i]['code']+'" selected>'+msg_list[i]['msg']+'</option>';
// } else{
// tbody += '<option value="'+msg_list[i]['code']+'">'+msg_list[i]['msg']+'</option>';
// }
// }
},
yes:function(index){
var loadT = layer.msg("正在设置时区...", { icon: 16, time: 0, shade: [0.3, '#000'] });
var timezone = $('select[name="timezone"]').val();
$.post('/config/set_timezone', { timezone: timezone }, function (rdata) {
showMsg(rdata.msg, function(){
layer.close(index);
layer.close(loadT);
location.reload();
},{ icon: rdata.status ? 1 : 2 }, 2000);
},'json');
}
})
}
function setIPv6() {
var loadT = layer.msg('正在配置,请稍候...', { icon: 16, time: 0, shade: [0.3, '#000'] });

@ -86,6 +86,13 @@
<button type="button" class="btn btn-success btn-sm ml5" onclick="syncDate()">同步</button>
<span class="set-info c7">同步当前服务器时间</span>
</p>
<p class="mtb15">
<span class="set-tit text-right" title="服务器时间">服务器时区</span>
<input id="systemdatezone" name="systemdatezone" class="inputtxt bt-input-text disable" type="text" value="{{data['systemdatezone']}}">
<button type="button" class="btn btn-success btn-sm ml5" onclick="setTimezone()">设置</button>
<span class="set-info c7">设置当前服务器时区</span>
</p>
<p class="mtb15">
<span class="set-tit text-right" title="面板用户">面板用户</span>
<input name="username_" class="inputtxt bt-input-text disable" type="text" value="{{data['username']}}" disabled>

Loading…
Cancel
Save