时区设置

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 re
import json import json
import pwd import pwd
import pytz
from flask import session from flask import session
from flask import request from flask import request
@ -911,6 +912,21 @@ class config_api:
data['status_code_msg'] = "默认-安全入口错误提示" data['status_code_msg'] = "默认-安全入口错误提示"
return data 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): def get(self):
data = {} data = {}
@ -920,6 +936,13 @@ class config_api:
sformat = 'date +"%Y-%m-%d %H:%M:%S %Z %z"' sformat = 'date +"%Y-%m-%d %H:%M:%S %Z %z"'
data['systemdate'] = mw.execShell(sformat)[0].strip() 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['port'] = mw.getHostPort()
data['ip'] = mw.getHostAddr() data['ip'] = mw.getHostAddr()

@ -348,6 +348,58 @@ function syncDate(){
},'json'); },'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() { function setIPv6() {
var loadT = layer.msg('正在配置,请稍候...', { icon: 16, time: 0, shade: [0.3, '#000'] }); 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> <button type="button" class="btn btn-success btn-sm ml5" onclick="syncDate()">同步</button>
<span class="set-info c7">同步当前服务器时间</span> <span class="set-info c7">同步当前服务器时间</span>
</p> </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"> <p class="mtb15">
<span class="set-tit text-right" title="面板用户">面板用户</span> <span class="set-tit text-right" title="面板用户">面板用户</span>
<input name="username_" class="inputtxt bt-input-text disable" type="text" value="{{data['username']}}" disabled> <input name="username_" class="inputtxt bt-input-text disable" type="text" value="{{data['username']}}" disabled>

Loading…
Cancel
Save