mirror of https://github.com/tp4a/teleport
.clear.
parent
8ef5cfe118
commit
d1798c5397
|
@ -252,7 +252,7 @@ $app.on_table_host_render_created = function (render) {
|
||||||
};
|
};
|
||||||
|
|
||||||
render.time_begin = function (row_id, fields) {
|
render.time_begin = function (row_id, fields) {
|
||||||
return tp_format_datetime(tp_utc2local(fields.time_begin), 'MM-dd HH:mm:ss');
|
return tp_format_datetime(fields.time_begin, 'MM-dd HH:mm:ss');
|
||||||
};
|
};
|
||||||
|
|
||||||
render.time_cost = function (row_id, fields) {
|
render.time_cost = function (row_id, fields) {
|
||||||
|
@ -262,7 +262,7 @@ $app.on_table_host_render_created = function (render) {
|
||||||
_style = 'warning';
|
_style = 'warning';
|
||||||
else if (fields.state === TP_SESS_STAT_STARTED)
|
else if (fields.state === TP_SESS_STAT_STARTED)
|
||||||
_style = 'primary';
|
_style = 'primary';
|
||||||
return '<span class="label label-' + _style + '"><i class="fa fa-cog fa-spin"></i> ' + tp_second2str(tp_local2utc() - fields.time_begin) + '</span>';
|
return '<span class="label label-' + _style + '"><i class="fa fa-cog fa-spin"></i> ' + tp_second2str(tp_timestamp_sec() - fields.time_begin) + '</span>';
|
||||||
} else {
|
} else {
|
||||||
if (fields.time_end === 0) {
|
if (fields.time_end === 0) {
|
||||||
return '<span class="label label-danger"><i class="far fa-clock fa-fw"></i> 未知</span>';
|
return '<span class="label label-danger"><i class="far fa-clock fa-fw"></i> 未知</span>';
|
||||||
|
@ -282,7 +282,7 @@ $app.on_table_host_render_created = function (render) {
|
||||||
// _style = 'warning';
|
// _style = 'warning';
|
||||||
// else if (fields.state === TP_SESS_STAT_STARTED)
|
// else if (fields.state === TP_SESS_STAT_STARTED)
|
||||||
// _style = 'primary';
|
// _style = 'primary';
|
||||||
// return '<span class="label label-' + _style + '"><i class="fa fa-cog fa-spin"></i> ' + tp_second2str(tp_local2utc() - fields.time_begin) + '</span>';
|
// return '<span class="label label-' + _style + '"><i class="fa fa-cog fa-spin"></i> ' + tp_second2str(tp_timestamp_sec() - fields.time_begin) + '</span>';
|
||||||
// } else {
|
// } else {
|
||||||
// return tp_second2str(fields.time_end - fields.time_begin);
|
// return tp_second2str(fields.time_end - fields.time_begin);
|
||||||
// }
|
// }
|
||||||
|
@ -371,7 +371,7 @@ $app.do_replay_rdp = function (record_id, user_username, acc_username, host_ip,
|
||||||
, user: user_username
|
, user: user_username
|
||||||
, acc: acc_username
|
, acc: acc_username
|
||||||
, host: host_ip
|
, host: host_ip
|
||||||
, start: time_begin//tp_format_datetime(tp_utc2local(time_begin), 'yyyyMMdd-HHmmss')
|
, start: time_begin//tp_format_datetime(time_begin, 'yyyyMMdd-HHmmss')
|
||||||
}
|
}
|
||||||
, function () {
|
, function () {
|
||||||
// func_success
|
// func_success
|
||||||
|
|
|
@ -48,7 +48,7 @@ $app.init_sys_status_info = function (data) {
|
||||||
fontSize: 11,
|
fontSize: 11,
|
||||||
fontFamily: 'Monaco, Lucida Console, Consolas, Courier',
|
fontFamily: 'Monaco, Lucida Console, Consolas, Courier',
|
||||||
formatter: function (value, index) {
|
formatter: function (value, index) {
|
||||||
return tp_format_datetime_ms(tp_utc2local_ms(value), 'HH:mm');
|
return tp_format_datetime(value, 'HH:mm');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -95,8 +95,8 @@ $app.init_sys_status_info = function (data) {
|
||||||
$app.bar_cpu_user = [];
|
$app.bar_cpu_user = [];
|
||||||
$app.bar_cpu_sys = [];
|
$app.bar_cpu_sys = [];
|
||||||
for (i = 0; i < data.length; i++) {
|
for (i = 0; i < data.length; i++) {
|
||||||
$app.bar_cpu_user.push({name: tp_format_datetime_ms(tp_utc2local_ms(data[i].t), 'HH:mm:ss'), value: [data[i].t, data[i].cpu.u]});
|
$app.bar_cpu_user.push({name: tp_format_datetime(data[i].t, 'HH:mm:ss'), value: [data[i].t, data[i].cpu.u]});
|
||||||
$app.bar_cpu_sys.push({name: tp_format_datetime_ms(tp_utc2local_ms(data[i].t), 'HH:mm:ss'), value: [data[i].t, data[i].cpu.s]});
|
$app.bar_cpu_sys.push({name: tp_format_datetime(data[i].t, 'HH:mm:ss'), value: [data[i].t, data[i].cpu.s]});
|
||||||
}
|
}
|
||||||
|
|
||||||
var clr_cpu_user = '#e2524c';
|
var clr_cpu_user = '#e2524c';
|
||||||
|
@ -191,7 +191,7 @@ $app.init_sys_status_info = function (data) {
|
||||||
|
|
||||||
$app.bar_mem_used = [];
|
$app.bar_mem_used = [];
|
||||||
for (i = 0; i < data.length; i++) {
|
for (i = 0; i < data.length; i++) {
|
||||||
$app.bar_mem_used.push({name: tp_format_datetime_ms(tp_utc2local_ms(data[i].t), 'HH:mm:ss'), value: [data[i].t, tp_digital_precision(data[i].mem.u * 100 / data[i].mem.t, 1)]});
|
$app.bar_mem_used.push({name: tp_format_datetime(data[i].t, 'HH:mm:ss'), value: [data[i].t, tp_digital_precision(data[i].mem.u * 100 / data[i].mem.t, 1)]});
|
||||||
}
|
}
|
||||||
|
|
||||||
var clr_mem = '#5671e2';
|
var clr_mem = '#5671e2';
|
||||||
|
@ -269,8 +269,8 @@ $app.init_sys_status_info = function (data) {
|
||||||
$app.bar_net_recv = [];
|
$app.bar_net_recv = [];
|
||||||
$app.bar_net_sent = [];
|
$app.bar_net_sent = [];
|
||||||
for (i = 0; i < data.length; i++) {
|
for (i = 0; i < data.length; i++) {
|
||||||
$app.bar_net_recv.push({name: tp_format_datetime_ms(tp_utc2local_ms(data[i].t), 'HH:mm:ss'), value: [data[i].t, data[i].net.r]});
|
$app.bar_net_recv.push({name: tp_format_datetime(data[i].t, 'HH:mm:ss'), value: [data[i].t, data[i].net.r]});
|
||||||
$app.bar_net_sent.push({name: tp_format_datetime_ms(tp_utc2local_ms(data[i].t), 'HH:mm:ss'), value: [data[i].t, data[i].net.s]});
|
$app.bar_net_sent.push({name: tp_format_datetime(data[i].t, 'HH:mm:ss'), value: [data[i].t, data[i].net.s]});
|
||||||
}
|
}
|
||||||
|
|
||||||
var clr_net_sent = '#558c5a';
|
var clr_net_sent = '#558c5a';
|
||||||
|
@ -342,8 +342,8 @@ $app.init_sys_status_info = function (data) {
|
||||||
$app.bar_disk_read = [];
|
$app.bar_disk_read = [];
|
||||||
$app.bar_disk_write = [];
|
$app.bar_disk_write = [];
|
||||||
for (i = 0; i < data.length; i++) {
|
for (i = 0; i < data.length; i++) {
|
||||||
$app.bar_disk_read.push({name: tp_format_datetime_ms(tp_utc2local_ms(data[i].t), 'HH:mm:ss'), value: [data[i].t, data[i].disk.r]});
|
$app.bar_disk_read.push({name: tp_format_datetime(data[i].t, 'HH:mm:ss'), value: [data[i].t, data[i].disk.r]});
|
||||||
$app.bar_disk_write.push({name: tp_format_datetime_ms(tp_utc2local_ms(data[i].t), 'HH:mm:ss'), value: [data[i].t, data[i].disk.w]});
|
$app.bar_disk_write.push({name: tp_format_datetime(data[i].t, 'HH:mm:ss'), value: [data[i].t, data[i].disk.w]});
|
||||||
}
|
}
|
||||||
|
|
||||||
var clr_disk_read = '#558c5a';
|
var clr_disk_read = '#558c5a';
|
||||||
|
@ -489,31 +489,31 @@ $app.init_ws = function () {
|
||||||
|
|
||||||
if (t.method === 'subscribe' && t.param === 'sys_status') {
|
if (t.method === 'subscribe' && t.param === 'sys_status') {
|
||||||
$app.bar_cpu_user.shift();
|
$app.bar_cpu_user.shift();
|
||||||
$app.bar_cpu_user.push({name: tp_format_datetime_ms(tp_utc2local_ms(t.data.t), 'HH:mm:ss'), value: [t.data.t, t.data.cpu.u]});
|
$app.bar_cpu_user.push({name: tp_format_datetime(t.data.t, 'HH:mm:ss'), value: [t.data.t, t.data.cpu.u]});
|
||||||
$app.bar_cpu_sys.shift();
|
$app.bar_cpu_sys.shift();
|
||||||
$app.bar_cpu_sys.push({name: tp_format_datetime_ms(tp_utc2local_ms(t.data.t), 'HH:mm:ss'), value: [t.data.t, t.data.cpu.s]});
|
$app.bar_cpu_sys.push({name: tp_format_datetime(t.data.t, 'HH:mm:ss'), value: [t.data.t, t.data.cpu.s]});
|
||||||
$app.bar_cpu.setOption(
|
$app.bar_cpu.setOption(
|
||||||
{series: [{data: $app.bar_cpu_sys}, {data: $app.bar_cpu_user}]}
|
{series: [{data: $app.bar_cpu_sys}, {data: $app.bar_cpu_user}]}
|
||||||
);
|
);
|
||||||
|
|
||||||
$app.bar_mem_used.shift();
|
$app.bar_mem_used.shift();
|
||||||
$app.bar_mem_used.push({name: tp_format_datetime_ms(tp_utc2local_ms(t.data.t), 'HH:mm:ss'), value: [t.data.t, Math.round(t.data.mem.u / t.data.mem.t * 100, 2)]});
|
$app.bar_mem_used.push({name: tp_format_datetime(t.data.t, 'HH:mm:ss'), value: [t.data.t, Math.round(t.data.mem.u / t.data.mem.t * 100, 2)]});
|
||||||
$app.bar_mem.setOption(
|
$app.bar_mem.setOption(
|
||||||
{series: [{data: $app.bar_mem_used}]}
|
{series: [{data: $app.bar_mem_used}]}
|
||||||
);
|
);
|
||||||
|
|
||||||
$app.bar_net_recv.shift();
|
$app.bar_net_recv.shift();
|
||||||
$app.bar_net_recv.push({name: tp_format_datetime_ms(tp_utc2local_ms(t.data.t), 'HH:mm:ss'), value: [t.data.t, t.data.net.r]});
|
$app.bar_net_recv.push({name: tp_format_datetime(t.data.t, 'HH:mm:ss'), value: [t.data.t, t.data.net.r]});
|
||||||
$app.bar_net_sent.shift();
|
$app.bar_net_sent.shift();
|
||||||
$app.bar_net_sent.push({name: tp_format_datetime_ms(tp_utc2local_ms(t.data.t), 'HH:mm:ss'), value: [t.data.t, t.data.net.s]});
|
$app.bar_net_sent.push({name: tp_format_datetime(t.data.t, 'HH:mm:ss'), value: [t.data.t, t.data.net.s]});
|
||||||
$app.bar_net.setOption(
|
$app.bar_net.setOption(
|
||||||
{series: [{data: $app.bar_net_sent}, {data: $app.bar_net_recv}]}
|
{series: [{data: $app.bar_net_sent}, {data: $app.bar_net_recv}]}
|
||||||
);
|
);
|
||||||
|
|
||||||
$app.bar_disk_read.shift();
|
$app.bar_disk_read.shift();
|
||||||
$app.bar_disk_read.push({name: tp_format_datetime_ms(tp_utc2local_ms(t.data.t), 'HH:mm:ss'), value: [t.data.t, t.data.disk.r]});
|
$app.bar_disk_read.push({name: tp_format_datetime(t.data.t, 'HH:mm:ss'), value: [t.data.t, t.data.disk.r]});
|
||||||
$app.bar_disk_write.shift();
|
$app.bar_disk_write.shift();
|
||||||
$app.bar_disk_write.push({name: tp_format_datetime_ms(tp_utc2local_ms(t.data.t), 'HH:mm:ss'), value: [t.data.t, t.data.disk.w]});
|
$app.bar_disk_write.push({name: tp_format_datetime(t.data.t, 'HH:mm:ss'), value: [t.data.t, t.data.disk.w]});
|
||||||
$app.bar_disk.setOption(
|
$app.bar_disk.setOption(
|
||||||
{series: [{data: $app.bar_disk_read}, {data: $app.bar_disk_write}]}
|
{series: [{data: $app.bar_disk_read}, {data: $app.bar_disk_write}]}
|
||||||
);
|
);
|
||||||
|
|
|
@ -283,7 +283,7 @@ $app.on_table_session_render_created = function (render) {
|
||||||
};
|
};
|
||||||
|
|
||||||
render.time_begin = function (row_id, fields) {
|
render.time_begin = function (row_id, fields) {
|
||||||
return tp_format_datetime(tp_utc2local(fields.time_begin), 'MM-dd HH:mm:ss');
|
return tp_format_datetime(fields.time_begin, 'MM-dd HH:mm:ss');
|
||||||
};
|
};
|
||||||
|
|
||||||
render.time_cost = function (row_id, fields) {
|
render.time_cost = function (row_id, fields) {
|
||||||
|
@ -293,7 +293,7 @@ $app.on_table_session_render_created = function (render) {
|
||||||
_style = 'warning';
|
_style = 'warning';
|
||||||
else if (fields.state === TP_SESS_STAT_STARTED)
|
else if (fields.state === TP_SESS_STAT_STARTED)
|
||||||
_style = 'primary';
|
_style = 'primary';
|
||||||
return '<span class="label label-' + _style + '"><i class="fa fa-cog fa-spin"></i> ' + tp_second2str(tp_local2utc() - fields.time_begin) + '</span>';
|
return '<span class="label label-' + _style + '"><i class="fa fa-cog fa-spin"></i> ' + tp_second2str(tp_timestamp_sec() - fields.time_begin) + '</span>';
|
||||||
} else {
|
} else {
|
||||||
return tp_second2str(fields.time_end - fields.time_begin);
|
return tp_second2str(fields.time_end - fields.time_begin);
|
||||||
}
|
}
|
||||||
|
|
|
@ -184,7 +184,7 @@ $app.on_table_host_render_created = function (render) {
|
||||||
// };
|
// };
|
||||||
|
|
||||||
render.log_time = function (row_id, fields) {
|
render.log_time = function (row_id, fields) {
|
||||||
return tp_format_datetime(tp_utc2local(fields.log_time));
|
return tp_format_datetime(fields.log_time);
|
||||||
};
|
};
|
||||||
|
|
||||||
render.user = function (row, fields) {
|
render.user = function (row, fields) {
|
||||||
|
|
|
@ -28,7 +28,7 @@ $tp.create_table = function (options) {
|
||||||
// clear
|
// clear
|
||||||
// reset_filter
|
// reset_filter
|
||||||
|
|
||||||
var _tbl = {};
|
let _tbl = {};
|
||||||
|
|
||||||
// 此表格绑定的DOM对象的ID,用于JQuery的选择器
|
// 此表格绑定的DOM对象的ID,用于JQuery的选择器
|
||||||
_tbl.dom_id = options.dom_id;
|
_tbl.dom_id = options.dom_id;
|
||||||
|
@ -223,7 +223,6 @@ $tp.create_table = function (options) {
|
||||||
_tbl.load_data = function (cb_stack, cb_args) {
|
_tbl.load_data = function (cb_stack, cb_args) {
|
||||||
cb_stack = cb_stack || CALLBACK_STACK.create();
|
cb_stack = cb_stack || CALLBACK_STACK.create();
|
||||||
|
|
||||||
//log.v('load table data.', cb_args);
|
|
||||||
if (_tbl.paging_ctrl)
|
if (_tbl.paging_ctrl)
|
||||||
_tbl.per_page = _tbl.paging_ctrl.get_per_page();
|
_tbl.per_page = _tbl.paging_ctrl.get_per_page();
|
||||||
else
|
else
|
||||||
|
@ -238,7 +237,6 @@ $tp.create_table = function (options) {
|
||||||
console.error('filter', name, 'has have no get_filter() interface.');
|
console.error('filter', name, 'has have no get_filter() interface.');
|
||||||
}
|
}
|
||||||
var _f = ctrl.get_filter();
|
var _f = ctrl.get_filter();
|
||||||
// console.log('filter from', name, _f);
|
|
||||||
$.each(_f, function (k, v) {
|
$.each(_f, function (k, v) {
|
||||||
_filter[k] = v;
|
_filter[k] = v;
|
||||||
});
|
});
|
||||||
|
@ -949,7 +947,7 @@ $tp.create_table_render = function (tbl, on_created) {
|
||||||
_tbl_render.date_time = function (row_id, fields) {
|
_tbl_render.date_time = function (row_id, fields) {
|
||||||
if (0 === fields.timestamp)
|
if (0 === fields.timestamp)
|
||||||
return '';
|
return '';
|
||||||
return '<span class="datetime">' + tp_format_datetime(tp_utc2local(fields.timestamp)) + '</span>';
|
return '<span class="datetime">' + tp_format_datetime(fields.timestamp) + '</span>';
|
||||||
};
|
};
|
||||||
|
|
||||||
_tbl_render.date_time_local = function (row_id, fields) {
|
_tbl_render.date_time_local = function (row_id, fields) {
|
||||||
|
|
|
@ -239,7 +239,7 @@ $assist.do_rdp_replay = function (args, func_success, func_error) {
|
||||||
// now fix the args.
|
// now fix the args.
|
||||||
args.web = $tp.web_server; // (string) - teleport server base address, like "http://127.0.0.1:7190", without end-slash.
|
args.web = $tp.web_server; // (string) - teleport server base address, like "http://127.0.0.1:7190", without end-slash.
|
||||||
args.sid = Cookies.get('_sid'); // (string) - current login user's session-id.
|
args.sid = Cookies.get('_sid'); // (string) - current login user's session-id.
|
||||||
args.start = tp_format_datetime(tp_utc2local(args.start), 'yyyyMMdd-HHmmss'); // (string) - convert UTC timestamp to local human-readable string.
|
args.start = tp_format_datetime(args.start, 'yyyyMMdd-HHmmss'); // (string) - convert UTC timestamp to local human-readable string.
|
||||||
|
|
||||||
console.log('do-rdp-replay:', args);
|
console.log('do-rdp-replay:', args);
|
||||||
|
|
||||||
|
|
|
@ -7,15 +7,15 @@
|
||||||
//===================================================
|
//===================================================
|
||||||
// constants.
|
// constants.
|
||||||
//===================================================
|
//===================================================
|
||||||
var KB = 1024;
|
const KB = 1024;
|
||||||
var MB = 1048576;
|
const MB = 1048576;
|
||||||
var GB = 1073741824;
|
const GB = 1073741824;
|
||||||
var TB = 1099511627776;
|
const TB = 1099511627776;
|
||||||
var PB = 1125899906842624;
|
const PB = 1125899906842624;
|
||||||
|
|
||||||
var SECONDS_PER_DAY = 86400;
|
const SECONDS_PER_DAY = 86400;
|
||||||
var SECONDS_PER_HOUR = 3600;
|
const SECONDS_PER_HOUR = 3600;
|
||||||
var SECONDS_PER_MINUTE = 60;
|
const SECONDS_PER_MINUTE = 60;
|
||||||
|
|
||||||
//===================================================
|
//===================================================
|
||||||
// extend prototype functions.
|
// extend prototype functions.
|
||||||
|
@ -43,17 +43,17 @@ if (!String.prototype.realLength) {
|
||||||
// http://jsfiddle.net/ghvj4gy9/embedded/result,js/
|
// http://jsfiddle.net/ghvj4gy9/embedded/result,js/
|
||||||
function tp_is_email(email) {
|
function tp_is_email(email) {
|
||||||
//var re = /^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;
|
//var re = /^(\w)+(\.\w+)*@(\w)+((\.\w+)+)$/;
|
||||||
var re = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
|
let re = /^(([^<>()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
|
||||||
return re.test(email);
|
return re.test(email);
|
||||||
}
|
}
|
||||||
|
|
||||||
function tp_is_ip(ip) {
|
function tp_is_ip(ip) {
|
||||||
var re = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
|
let re = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
|
||||||
return re.test(ip);
|
return re.test(ip);
|
||||||
}
|
}
|
||||||
|
|
||||||
function tp_is_domain(domain) {
|
function tp_is_domain(domain) {
|
||||||
var re = /^[a-zA-Z0-9\-]+\.[a-zA-Z]+$/
|
let re = /^[a-zA-Z0-9\-]+\.[a-zA-Z]+$/
|
||||||
return re.test(domain);
|
return re.test(domain);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,11 +64,9 @@ function tp_is_host(host) {
|
||||||
function tp_is_empty_str(str) {
|
function tp_is_empty_str(str) {
|
||||||
if (_.isEmpty(str))
|
if (_.isEmpty(str))
|
||||||
return true;
|
return true;
|
||||||
var regu = "^[ \t]+$";
|
let regu = "^[ \t]+$";
|
||||||
var re = new RegExp(regu);
|
let re = new RegExp(regu);
|
||||||
return re.test(str);
|
return re.test(str);
|
||||||
|
|
||||||
// return (str.replace(/(^\s*)|(\s*$)/g, "").length !== 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//===================================================
|
//===================================================
|
||||||
|
@ -85,29 +83,23 @@ function tp_digital_precision(num, keep) {
|
||||||
|
|
||||||
function tp_size2str(size, precision) {
|
function tp_size2str(size, precision) {
|
||||||
precision = precision || 0;
|
precision = precision || 0;
|
||||||
var s = 0;
|
let s = 0, k = '';
|
||||||
var k = '';
|
|
||||||
if (size < KB) {
|
if (size < KB) {
|
||||||
s = size;
|
s = size;
|
||||||
k = 'B';
|
k = 'B';
|
||||||
}
|
} else if (size < MB) {
|
||||||
else if (size < MB) {
|
|
||||||
s = tp_digital_precision(size / KB, precision);
|
s = tp_digital_precision(size / KB, precision);
|
||||||
k = 'KB'
|
k = 'KB'
|
||||||
}
|
} else if (size < GB) {
|
||||||
else if (size < GB) {
|
|
||||||
s = tp_digital_precision(size / MB, precision);
|
s = tp_digital_precision(size / MB, precision);
|
||||||
k = 'MB'
|
k = 'MB'
|
||||||
}
|
} else if (size < TB) {
|
||||||
else if (size < TB) {
|
|
||||||
s = tp_digital_precision(size / GB, precision);
|
s = tp_digital_precision(size / GB, precision);
|
||||||
k = 'GB'
|
k = 'GB'
|
||||||
}
|
} else if (size < PB) {
|
||||||
else if (size < PB) {
|
|
||||||
s = tp_digital_precision(size / TB, precision);
|
s = tp_digital_precision(size / TB, precision);
|
||||||
k = 'TB'
|
k = 'TB'
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
s = tp_digital_precision(size / PB, precision);
|
s = tp_digital_precision(size / PB, precision);
|
||||||
k = 'PB'
|
k = 'PB'
|
||||||
}
|
}
|
||||||
|
@ -116,15 +108,15 @@ function tp_size2str(size, precision) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function tp_second2str(sec) {
|
function tp_second2str(sec) {
|
||||||
var _ret = '';
|
let _ret = '';
|
||||||
if (sec >= SECONDS_PER_DAY) {
|
if (sec >= SECONDS_PER_DAY) {
|
||||||
var _d = Math.floor(sec / SECONDS_PER_DAY);
|
let _d = Math.floor(sec / SECONDS_PER_DAY);
|
||||||
_ret = '' + _d + '天';
|
_ret = '' + _d + '天';
|
||||||
sec = sec % SECONDS_PER_DAY;
|
sec = sec % SECONDS_PER_DAY;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sec >= SECONDS_PER_HOUR) {
|
if (sec >= SECONDS_PER_HOUR) {
|
||||||
var _h = Math.floor(sec / SECONDS_PER_HOUR);
|
let _h = Math.floor(sec / SECONDS_PER_HOUR);
|
||||||
_ret += '' + _h + '小时';
|
_ret += '' + _h + '小时';
|
||||||
sec = sec % SECONDS_PER_HOUR;
|
sec = sec % SECONDS_PER_HOUR;
|
||||||
} else if (_ret.length > 0) {
|
} else if (_ret.length > 0) {
|
||||||
|
@ -132,7 +124,7 @@ function tp_second2str(sec) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sec >= SECONDS_PER_MINUTE) {
|
if (sec >= SECONDS_PER_MINUTE) {
|
||||||
var _m = Math.floor(sec / SECONDS_PER_MINUTE);
|
let _m = Math.floor(sec / SECONDS_PER_MINUTE);
|
||||||
_ret += '' + _m + '分';
|
_ret += '' + _m + '分';
|
||||||
sec = sec % SECONDS_PER_MINUTE;
|
sec = sec % SECONDS_PER_MINUTE;
|
||||||
} else if (_ret.length > 0) {
|
} else if (_ret.length > 0) {
|
||||||
|
@ -144,35 +136,22 @@ function tp_second2str(sec) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function tp_get_cookie(name) {
|
function tp_get_cookie(name) {
|
||||||
var r = document.cookie.match("\\b" + name + "=([^;]*)\\b");
|
let r = document.cookie.match("\\b" + name + "=([^;]*)\\b");
|
||||||
return r ? r[1] : undefined;
|
return r ? r[1] : undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
function tp_utc2local(timestamp) {
|
function tp_timestamp_ms() {
|
||||||
var d = new Date(timestamp * 1000);
|
return (new Date()).getTime();
|
||||||
var _local = d.getTime() - (d.getTimezoneOffset() * 60000);
|
|
||||||
return Math.round(_local / 1000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function tp_utc2local_ms(timestamp) {
|
function tp_timestamp_sec() {
|
||||||
var d = new Date(timestamp);
|
return Math.floor((new Date()).getTime() / 1000);
|
||||||
var _local = d.getTime() - (d.getTimezoneOffset() * 60000);
|
|
||||||
return Math.round(_local);
|
|
||||||
}
|
|
||||||
|
|
||||||
function tp_local2utc(timestamp) {
|
|
||||||
var ts = timestamp || Math.floor(Date.now() / 1000);
|
|
||||||
var d = new Date(ts * 1000);
|
|
||||||
var _utc = d.getTime() + (d.getTimezoneOffset() * 60000);
|
|
||||||
return Math.round(_utc / 1000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function tp_format_datetime_ms(timestamp, format) {
|
function tp_format_datetime_ms(timestamp, format) {
|
||||||
var d = new Date(timestamp);
|
let d = new Date(timestamp);
|
||||||
//return '' + d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate() + ' ' + d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds();
|
let fmt = format || 'yyyy-MM-dd HH:mm:ss';
|
||||||
|
let o = {
|
||||||
var fmt = format || 'yyyy-MM-dd HH:mm:ss';
|
|
||||||
var o = {
|
|
||||||
"M+": d.getMonth() + 1, //月份
|
"M+": d.getMonth() + 1, //月份
|
||||||
"d+": d.getDate(), //日
|
"d+": d.getDate(), //日
|
||||||
"H+": d.getHours(), //小时
|
"H+": d.getHours(), //小时
|
||||||
|
@ -185,10 +164,10 @@ function tp_format_datetime_ms(timestamp, format) {
|
||||||
if (/(y+)/.test(fmt)) {
|
if (/(y+)/.test(fmt)) {
|
||||||
fmt = fmt.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length));
|
fmt = fmt.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length));
|
||||||
}
|
}
|
||||||
for (var k in o) {
|
for (let k in o) {
|
||||||
if (new RegExp("(" + k + ")").test(fmt)) {
|
if (new RegExp("(" + k + ")").test(fmt)) {
|
||||||
if (o.hasOwnProperty(k))
|
if (o.hasOwnProperty(k))
|
||||||
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
|
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return fmt;
|
return fmt;
|
||||||
|
@ -198,13 +177,13 @@ function tp_format_datetime(timestamp, format) {
|
||||||
return tp_format_datetime_ms(timestamp * 1000, format);
|
return tp_format_datetime_ms(timestamp * 1000, format);
|
||||||
}
|
}
|
||||||
|
|
||||||
var base64KeyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
|
const base64KeyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
|
||||||
|
|
||||||
function tp_base64_encode(input) {
|
function tp_base64_encode(input) {
|
||||||
var output = "";
|
let output = "";
|
||||||
var chr1, chr2, chr3 = "";
|
let chr1, chr2, chr3 = "";
|
||||||
var enc1, enc2, enc3, enc4 = "";
|
let enc1, enc2, enc3, enc4 = "";
|
||||||
var i = 0;
|
let i = 0;
|
||||||
do {
|
do {
|
||||||
chr1 = input.charCodeAt(i++);
|
chr1 = input.charCodeAt(i++);
|
||||||
chr2 = input.charCodeAt(i++);
|
chr2 = input.charCodeAt(i++);
|
||||||
|
@ -226,7 +205,7 @@ function tp_base64_encode(input) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function tp_base64_to_binarray(data) {
|
function tp_base64_to_binarray(data) {
|
||||||
var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
|
let o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
|
||||||
ac = 0,
|
ac = 0,
|
||||||
tmp_arr = [];
|
tmp_arr = [];
|
||||||
|
|
||||||
|
@ -234,7 +213,7 @@ function tp_base64_to_binarray(data) {
|
||||||
return tmp_arr;
|
return tmp_arr;
|
||||||
}
|
}
|
||||||
|
|
||||||
do { // unpack four hexets into three octets using index points in b64
|
do {
|
||||||
h1 = base64KeyStr.indexOf(data.charAt(i++));
|
h1 = base64KeyStr.indexOf(data.charAt(i++));
|
||||||
h2 = base64KeyStr.indexOf(data.charAt(i++));
|
h2 = base64KeyStr.indexOf(data.charAt(i++));
|
||||||
h3 = base64KeyStr.indexOf(data.charAt(i++));
|
h3 = base64KeyStr.indexOf(data.charAt(i++));
|
||||||
|
@ -262,7 +241,7 @@ function tp_base64_to_binarray(data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function tp_base64_decode(data) {
|
function tp_base64_decode(data) {
|
||||||
var o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
|
let o1, o2, o3, h1, h2, h3, h4, bits, i = 0,
|
||||||
ac = 0,
|
ac = 0,
|
||||||
tmp_arr = [];
|
tmp_arr = [];
|
||||||
|
|
||||||
|
@ -271,7 +250,7 @@ function tp_base64_decode(data) {
|
||||||
}
|
}
|
||||||
data += '';
|
data += '';
|
||||||
|
|
||||||
do { // unpack four hexets into three octets using index points in b64
|
do {
|
||||||
h1 = base64KeyStr.indexOf(data.charAt(i++));
|
h1 = base64KeyStr.indexOf(data.charAt(i++));
|
||||||
h2 = base64KeyStr.indexOf(data.charAt(i++));
|
h2 = base64KeyStr.indexOf(data.charAt(i++));
|
||||||
h3 = base64KeyStr.indexOf(data.charAt(i++));
|
h3 = base64KeyStr.indexOf(data.charAt(i++));
|
||||||
|
@ -296,22 +275,16 @@ function tp_base64_decode(data) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function tp_get_file_name(path) {
|
function tp_get_file_name(path) {
|
||||||
var reg = /(\\+)/g;
|
let reg = /(\\+)/g;
|
||||||
path = path.replace(reg, "/");
|
path = path.replace(reg, "/");
|
||||||
var _path = path.split('/');
|
let _path = path.split('/');
|
||||||
return _path[_path.length - 1]
|
return _path[_path.length - 1]
|
||||||
}
|
}
|
||||||
|
|
||||||
var g_unique_id = (new Date()).valueOf();
|
|
||||||
|
|
||||||
function tp_generate_id() {
|
|
||||||
return g_unique_id++;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function htmlEncode(_s) {
|
function htmlEncode(_s) {
|
||||||
if (_s.length === 0) return "";
|
if (_s.length === 0)
|
||||||
var s = _s.replace(/&/g, "&");
|
return "";
|
||||||
|
let s = _s.replace(/&/g, "&");
|
||||||
s = s.replace(/</g, "<");
|
s = s.replace(/</g, "<");
|
||||||
s = s.replace(/>/g, ">");
|
s = s.replace(/>/g, ">");
|
||||||
//s = s.replace(/ /g, " ");
|
//s = s.replace(/ /g, " ");
|
||||||
|
@ -333,43 +306,24 @@ function htmlEncode(_s) {
|
||||||
// return s;
|
// return s;
|
||||||
//}
|
//}
|
||||||
|
|
||||||
|
|
||||||
function tp_sleep4debug(duration) {
|
|
||||||
var now = new Date().getTime();
|
|
||||||
while (new Date().getTime() < now + duration) { /* do nothing */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取长度为len的随机字符串
|
|
||||||
function tp_gen_random_string(len) {
|
|
||||||
len = len || 32;
|
|
||||||
var _chars = 'ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678'; // 默认去掉了容易混淆的字符oO,Ll,9gq,Vv,Uu,I1
|
|
||||||
var max_pos = _chars.length;
|
|
||||||
var ret = '';
|
|
||||||
for (var i = 0; i < len; i++) {
|
|
||||||
ret += _chars.charAt(Math.floor(Math.random() * max_pos));
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 生成一个随机密码
|
// 生成一个随机密码
|
||||||
function tp_gen_password(len) {
|
function tp_gen_password(len) {
|
||||||
len = len || 8;
|
len = len || 8;
|
||||||
var _chars = ['ABCDEFGHJKMNPQRSTWXYZ', 'abcdefhijkmnprstwxyz', '2345678']; // 默认去掉了容易混淆的字符oO,Ll,9gq,Vv,Uu,I1
|
const _chars = ['ABCDEFGHJKMNPQRSTWXYZ', 'abcdefhijkmnprstwxyz', '2345678']; // 默认去掉了容易混淆的字符oO,Ll,9gq,Vv,Uu,I1
|
||||||
var _chars_len = [];
|
let _chars_len = [];
|
||||||
var i = 0;
|
let i = 0;
|
||||||
for (i = 0; i < _chars.length; ++i) {
|
for (i = 0; i < _chars.length; ++i) {
|
||||||
_chars_len[i] = _chars[i].length;
|
_chars_len[i] = _chars[i].length;
|
||||||
}
|
}
|
||||||
var ret = '';
|
let ret = '';
|
||||||
|
|
||||||
var have_CHAR = false;
|
let have_CHAR = false;
|
||||||
var have_char = false;
|
let have_char = false;
|
||||||
var have_num = false;
|
let have_num = false;
|
||||||
for (; ;) {
|
for (; ;) {
|
||||||
ret = '';
|
ret = '';
|
||||||
for (i = 0; i < len; i++) {
|
for (i = 0; i < len; i++) {
|
||||||
var idx = Math.floor(Math.random() * _chars.length);
|
let idx = Math.floor(Math.random() * _chars.length);
|
||||||
if (idx === 0)
|
if (idx === 0)
|
||||||
have_CHAR = true;
|
have_CHAR = true;
|
||||||
else if (idx === 1)
|
else if (idx === 1)
|
||||||
|
@ -388,12 +342,12 @@ function tp_gen_password(len) {
|
||||||
|
|
||||||
// 弱密码检测
|
// 弱密码检测
|
||||||
function tp_check_strong_password(p) {
|
function tp_check_strong_password(p) {
|
||||||
var s = 0;
|
|
||||||
if (p.length < 8)
|
if (p.length < 8)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
for (var i = 0; i < p.length; ++i) {
|
let i, s = 0;
|
||||||
var c = p.charCodeAt(i);
|
for (i = 0; i < p.length; ++i) {
|
||||||
|
let c = p.charCodeAt(i);
|
||||||
if (c >= 48 && c <= 57) // 数字
|
if (c >= 48 && c <= 57) // 数字
|
||||||
s |= 1;
|
s |= 1;
|
||||||
else if (c >= 65 && c <= 90) // 大写字母
|
else if (c >= 65 && c <= 90) // 大写字母
|
||||||
|
|
|
@ -129,7 +129,7 @@ $app.on_init = function (cb_stack) {
|
||||||
$tp.ajax_post_json('/system/get-time', {},
|
$tp.ajax_post_json('/system/get-time', {},
|
||||||
function (ret) {
|
function (ret) {
|
||||||
if (ret.code === TPE_OK) {
|
if (ret.code === TPE_OK) {
|
||||||
$app.tp_time = tp_utc2local(ret.data);
|
$app.tp_time = ret.data;
|
||||||
$app.show_tp_time();
|
$app.show_tp_time();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -15,7 +15,7 @@ $app.on_init = function (cb_stack, cb_args) {
|
||||||
if (val === 0)
|
if (val === 0)
|
||||||
obj.text('-');
|
obj.text('-');
|
||||||
else
|
else
|
||||||
obj.text(tp_format_datetime(tp_utc2local(val)));
|
obj.text(tp_format_datetime(val));
|
||||||
};
|
};
|
||||||
|
|
||||||
$app.fix_time_display('create-time');
|
$app.fix_time_display('create-time');
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
from app.const import *
|
from app.const import *
|
||||||
from app.logic.auth.password import tp_password_generate_secret
|
from app.logic.auth.password import tp_password_generate_secret
|
||||||
from app.base.utils import tp_timestamp_utc_now
|
from app.base.utils import tp_timestamp_sec
|
||||||
from app.base.logger import log
|
from app.base.logger import log
|
||||||
|
|
||||||
|
|
||||||
|
@ -826,7 +826,7 @@ class DatabaseInit:
|
||||||
)
|
)
|
||||||
|
|
||||||
def _make_builtin_data(self, sysadmin, email, password):
|
def _make_builtin_data(self, sysadmin, email, password):
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
|
|
||||||
self._db_exec(
|
self._db_exec(
|
||||||
'设定数据库版本',
|
'设定数据库版本',
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# from app.const import *
|
# from app.const import *
|
||||||
# from app.logic.auth.password import tp_password_generate_secret
|
# from app.logic.auth.password import tp_password_generate_secret
|
||||||
# from app.base.utils import tp_timestamp_utc_now
|
# from app.base.utils import tp_timestamp_sec
|
||||||
from app.base.logger import log
|
from app.base.logger import log
|
||||||
# import shutil
|
# import shutil
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
import psutil
|
import psutil
|
||||||
from app.base.utils import tp_utc_timestamp_ms
|
from app.base.utils import tp_timestamp_ms
|
||||||
from app.const import *
|
from app.const import *
|
||||||
from app.base.wss import tp_wss
|
from app.base.wss import tp_wss
|
||||||
from app.base.cron import tp_cron
|
from app.base.cron import tp_cron
|
||||||
|
@ -35,7 +35,7 @@ class TPStats(object):
|
||||||
}
|
}
|
||||||
|
|
||||||
def init(self):
|
def init(self):
|
||||||
t = tp_utc_timestamp_ms() - 10 * 60 * 1000
|
t = tp_timestamp_ms() - 10 * 60 * 1000
|
||||||
cnt = int((10 * 60 + self._INTERVAL - 1) / self._INTERVAL)
|
cnt = int((10 * 60 + self._INTERVAL - 1) / self._INTERVAL)
|
||||||
for i in range(cnt):
|
for i in range(cnt):
|
||||||
val = {
|
val = {
|
||||||
|
@ -73,7 +73,7 @@ class TPStats(object):
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def _check_sys_stats(self):
|
def _check_sys_stats(self):
|
||||||
val = {'t': tp_utc_timestamp_ms()}
|
val = {'t': tp_timestamp_ms()}
|
||||||
|
|
||||||
cpu = psutil.cpu_times_percent()
|
cpu = psutil.cpu_times_percent()
|
||||||
val['cpu'] = {'u': cpu.user, 's': cpu.system}
|
val['cpu'] = {'u': cpu.user, 's': cpu.system}
|
||||||
|
|
|
@ -160,16 +160,12 @@ def tp_second2human(n):
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
|
|
||||||
def tp_timestamp_local_to_utc(t):
|
def tp_timestamp_sec():
|
||||||
return int(datetime.datetime.utcfromtimestamp(time.mktime(time.localtime(t))).timestamp())
|
return int(datetime.datetime.now().timestamp())
|
||||||
|
|
||||||
|
|
||||||
def tp_timestamp_utc_now():
|
def tp_timestamp_ms():
|
||||||
return int(datetime.datetime.utcnow().timestamp())
|
return int(datetime.datetime.now().timestamp() * 1000)
|
||||||
|
|
||||||
|
|
||||||
def tp_utc_timestamp_ms():
|
|
||||||
return int(datetime.datetime.utcnow().timestamp() * 1000)
|
|
||||||
|
|
||||||
|
|
||||||
def tp_bytes2string(b, encode='utf8'):
|
def tp_bytes2string(b, encode='utf8'):
|
||||||
|
@ -253,7 +249,7 @@ class UniqueId:
|
||||||
if '__tp_unique_id__' in builtins.__dict__:
|
if '__tp_unique_id__' in builtins.__dict__:
|
||||||
raise RuntimeError('UniqueId object exists, can not create more than one instance.')
|
raise RuntimeError('UniqueId object exists, can not create more than one instance.')
|
||||||
|
|
||||||
self._id = tp_timestamp_utc_now()
|
self._id = tp_timestamp_sec()
|
||||||
self._locker = threading.RLock()
|
self._locker = threading.RLock()
|
||||||
|
|
||||||
def generate(self):
|
def generate(self):
|
||||||
|
|
|
@ -4,7 +4,7 @@ from app.const import *
|
||||||
from app.base.logger import log
|
from app.base.logger import log
|
||||||
from app.base.db import get_db, SQL
|
from app.base.db import get_db, SQL
|
||||||
from . import syslog
|
from . import syslog
|
||||||
from app.base.utils import tp_timestamp_utc_now
|
from app.base.utils import tp_timestamp_sec
|
||||||
from app.base.stats import tp_stats
|
from app.base.stats import tp_stats
|
||||||
|
|
||||||
|
|
||||||
|
@ -246,7 +246,7 @@ def add_account(handler, host_id, args):
|
||||||
添加一个远程账号
|
添加一个远程账号
|
||||||
"""
|
"""
|
||||||
db = get_db()
|
db = get_db()
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
operator = handler.get_current_user()
|
operator = handler.get_current_user()
|
||||||
|
|
||||||
# 1. 判断是否已经存在了
|
# 1. 判断是否已经存在了
|
||||||
|
|
|
@ -5,7 +5,7 @@ from app.base.logger import log
|
||||||
from app.base.db import get_db, SQL
|
from app.base.db import get_db, SQL
|
||||||
from app.model import syslog
|
from app.model import syslog
|
||||||
from app.model import policy
|
from app.model import policy
|
||||||
from app.base.utils import AttrDict, tp_timestamp_utc_now
|
from app.base.utils import AttrDict, tp_timestamp_sec
|
||||||
|
|
||||||
|
|
||||||
def get_by_id(pid):
|
def get_by_id(pid):
|
||||||
|
@ -59,7 +59,7 @@ def create_policy(handler, args):
|
||||||
创建一个授权策略
|
创建一个授权策略
|
||||||
"""
|
"""
|
||||||
db = get_db()
|
db = get_db()
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
|
|
||||||
# 1. 判断此账号是否已经存在了
|
# 1. 判断此账号是否已经存在了
|
||||||
s = SQL(db)
|
s = SQL(db)
|
||||||
|
@ -176,7 +176,7 @@ def add_members(handler, policy_id, policy_type, ref_type, members):
|
||||||
operator = handler.get_current_user()
|
operator = handler.get_current_user()
|
||||||
|
|
||||||
db = get_db()
|
db = get_db()
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
|
|
||||||
sql = []
|
sql = []
|
||||||
# for uid in members:
|
# for uid in members:
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
from app.const import *
|
from app.const import *
|
||||||
from app.base.logger import log
|
from app.base.logger import log
|
||||||
from app.base.db import get_db, SQL
|
from app.base.db import get_db, SQL
|
||||||
from app.base.utils import tp_timestamp_utc_now
|
from app.base.utils import tp_timestamp_sec
|
||||||
from app.model import syslog
|
from app.model import syslog
|
||||||
from app.model import policy
|
from app.model import policy
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@ def create(handler, gtype, name, desc):
|
||||||
return TPE_PARAM, 0
|
return TPE_PARAM, 0
|
||||||
|
|
||||||
db = get_db()
|
db = get_db()
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
|
|
||||||
# 1. 判断是否已经存在了
|
# 1. 判断是否已经存在了
|
||||||
sql = 'SELECT id FROM {dbtp}group WHERE type={gtype} AND name="{gname}";'.format(dbtp=db.table_prefix, gtype=gtype, gname=name)
|
sql = 'SELECT id FROM {dbtp}group WHERE type={gtype} AND name="{gname}";'.format(dbtp=db.table_prefix, gtype=gtype, gname=name)
|
||||||
|
@ -251,7 +251,7 @@ def make_groups(handler, gtype, glist, failed):
|
||||||
根据传入的组列表,查询每个组的名称对应的id,如果没有,则创建之
|
根据传入的组列表,查询每个组的名称对应的id,如果没有,则创建之
|
||||||
"""
|
"""
|
||||||
db = get_db()
|
db = get_db()
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
|
|
||||||
operator = handler.get_current_user()
|
operator = handler.get_current_user()
|
||||||
name_list = list()
|
name_list = list()
|
||||||
|
|
|
@ -8,7 +8,7 @@ from app.base.logger import log
|
||||||
from app.base.db import get_db, SQL
|
from app.base.db import get_db, SQL
|
||||||
from . import syslog
|
from . import syslog
|
||||||
from app.base.stats import tp_stats
|
from app.base.stats import tp_stats
|
||||||
from app.base.utils import tp_timestamp_utc_now
|
from app.base.utils import tp_timestamp_sec
|
||||||
|
|
||||||
|
|
||||||
def get_host_info(host_id):
|
def get_host_info(host_id):
|
||||||
|
@ -100,7 +100,7 @@ def add_host(handler, args):
|
||||||
添加一个远程主机
|
添加一个远程主机
|
||||||
"""
|
"""
|
||||||
db = get_db()
|
db = get_db()
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
|
|
||||||
# 1. 判断此主机是否已经存在了
|
# 1. 判断此主机是否已经存在了
|
||||||
if len(args['router_ip']) > 0:
|
if len(args['router_ip']) > 0:
|
||||||
|
|
|
@ -7,7 +7,7 @@ from app.base.logger import log
|
||||||
from app.base.db import get_db, SQL
|
from app.base.db import get_db, SQL
|
||||||
from app.model import syslog
|
from app.model import syslog
|
||||||
from app.model import policy
|
from app.model import policy
|
||||||
from app.base.utils import AttrDict, tp_timestamp_utc_now
|
from app.base.utils import AttrDict, tp_timestamp_sec
|
||||||
|
|
||||||
|
|
||||||
def get_by_id(pid):
|
def get_by_id(pid):
|
||||||
|
@ -72,7 +72,7 @@ def create_policy(handler, args):
|
||||||
创建一个授权策略
|
创建一个授权策略
|
||||||
"""
|
"""
|
||||||
db = get_db()
|
db = get_db()
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
|
|
||||||
# 1. 判断此账号是否已经存在了
|
# 1. 判断此账号是否已经存在了
|
||||||
s = SQL(db)
|
s = SQL(db)
|
||||||
|
@ -189,7 +189,7 @@ def add_members(handler, policy_id, policy_type, ref_type, members):
|
||||||
operator = handler.get_current_user()
|
operator = handler.get_current_user()
|
||||||
|
|
||||||
db = get_db()
|
db = get_db()
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
|
|
||||||
sql = []
|
sql = []
|
||||||
for m in members:
|
for m in members:
|
||||||
|
|
|
@ -4,7 +4,7 @@ from app.const import *
|
||||||
from app.base.logger import log
|
from app.base.logger import log
|
||||||
from app.base.db import get_db, SQL
|
from app.base.db import get_db, SQL
|
||||||
from app.model import syslog
|
from app.model import syslog
|
||||||
from app.base.utils import AttrDict, tp_timestamp_utc_now
|
from app.base.utils import AttrDict, tp_timestamp_sec
|
||||||
|
|
||||||
|
|
||||||
def rebuild_ops_auz_map():
|
def rebuild_ops_auz_map():
|
||||||
|
|
|
@ -10,7 +10,7 @@ from app.const import *
|
||||||
from app.base.configs import tp_cfg
|
from app.base.configs import tp_cfg
|
||||||
from app.base.db import get_db, SQL
|
from app.base.db import get_db, SQL
|
||||||
from app.base.logger import log
|
from app.base.logger import log
|
||||||
from app.base.utils import tp_timestamp_utc_now
|
from app.base.utils import tp_timestamp_sec
|
||||||
import tornado.gen
|
import tornado.gen
|
||||||
|
|
||||||
|
|
||||||
|
@ -483,11 +483,11 @@ def session_fix():
|
||||||
sql_list = []
|
sql_list = []
|
||||||
|
|
||||||
sql = 'UPDATE `{dbtp}record` SET state={new_state}, time_end={time_end} WHERE state={old_state};' \
|
sql = 'UPDATE `{dbtp}record` SET state={new_state}, time_end={time_end} WHERE state={old_state};' \
|
||||||
''.format(dbtp=db.table_prefix, new_state=TP_SESS_STAT_ERR_RESET, old_state=TP_SESS_STAT_RUNNING, time_end=tp_timestamp_utc_now())
|
''.format(dbtp=db.table_prefix, new_state=TP_SESS_STAT_ERR_RESET, old_state=TP_SESS_STAT_RUNNING, time_end=tp_timestamp_sec())
|
||||||
sql_list.append(sql)
|
sql_list.append(sql)
|
||||||
|
|
||||||
sql = 'UPDATE `{dbtp}record` SET state={new_state},time_end={time_end} WHERE state={old_state};' \
|
sql = 'UPDATE `{dbtp}record` SET state={new_state},time_end={time_end} WHERE state={old_state};' \
|
||||||
''.format(dbtp=db.table_prefix, new_state=TP_SESS_STAT_ERR_START_RESET, old_state=TP_SESS_STAT_STARTED, time_end=tp_timestamp_utc_now())
|
''.format(dbtp=db.table_prefix, new_state=TP_SESS_STAT_ERR_START_RESET, old_state=TP_SESS_STAT_STARTED, time_end=tp_timestamp_sec())
|
||||||
sql_list.append(sql)
|
sql_list.append(sql)
|
||||||
return db.transaction(sql_list)
|
return db.transaction(sql_list)
|
||||||
|
|
||||||
|
@ -499,7 +499,7 @@ def session_begin(sid, user_id, host_id, acc_id, user_username, acc_username, ho
|
||||||
';'.format(db.table_prefix,
|
';'.format(db.table_prefix,
|
||||||
sid=sid, user_id=user_id, host_id=host_id, acc_id=acc_id, user_username=user_username, host_ip=host_ip, conn_ip=conn_ip, conn_port=conn_port,
|
sid=sid, user_id=user_id, host_id=host_id, acc_id=acc_id, user_username=user_username, host_ip=host_ip, conn_ip=conn_ip, conn_port=conn_port,
|
||||||
client_ip=client_ip, acc_username=acc_username, auth_type=auth_type, protocol_type=protocol_type, protocol_sub_type=protocol_sub_type,
|
client_ip=client_ip, acc_username=acc_username, auth_type=auth_type, protocol_type=protocol_type, protocol_sub_type=protocol_sub_type,
|
||||||
time_begin=tp_timestamp_utc_now())
|
time_begin=tp_timestamp_sec())
|
||||||
|
|
||||||
ret = db.exec(sql)
|
ret = db.exec(sql)
|
||||||
if not ret:
|
if not ret:
|
||||||
|
@ -520,7 +520,7 @@ def session_update(record_id, protocol_sub_type, state):
|
||||||
|
|
||||||
def session_end(record_id, ret_code):
|
def session_end(record_id, ret_code):
|
||||||
db = get_db()
|
db = get_db()
|
||||||
sql = 'UPDATE `{}record` SET state={}, time_end={} WHERE id={};'.format(db.table_prefix, int(ret_code), tp_timestamp_utc_now(), int(record_id))
|
sql = 'UPDATE `{}record` SET state={}, time_end={} WHERE id={};'.format(db.table_prefix, int(ret_code), tp_timestamp_sec(), int(record_id))
|
||||||
return db.exec(sql)
|
return db.exec(sql)
|
||||||
|
|
||||||
|
|
||||||
|
@ -530,7 +530,7 @@ def cleanup_storage(handler):
|
||||||
sto = tp_cfg().sys.storage
|
sto = tp_cfg().sys.storage
|
||||||
|
|
||||||
db = get_db()
|
db = get_db()
|
||||||
_now = tp_timestamp_utc_now()
|
_now = tp_timestamp_sec()
|
||||||
msg = []
|
msg = []
|
||||||
have_error = False
|
have_error = False
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
from app.const import *
|
from app.const import *
|
||||||
from app.base.db import get_db
|
from app.base.db import get_db
|
||||||
from app.base.configs import tp_cfg
|
from app.base.configs import tp_cfg
|
||||||
from app.base.utils import tp_timestamp_utc_now
|
from app.base.utils import tp_timestamp_sec
|
||||||
|
|
||||||
|
|
||||||
def get_basic_stats():
|
def get_basic_stats():
|
||||||
|
@ -53,7 +53,7 @@ def update_temp_locked_user_state():
|
||||||
if sys_cfg.login.lock_timeout == 0:
|
if sys_cfg.login.lock_timeout == 0:
|
||||||
return
|
return
|
||||||
|
|
||||||
_lock_time = tp_timestamp_utc_now() - (sys_cfg.login.lock_timeout * 60)
|
_lock_time = tp_timestamp_sec() - (sys_cfg.login.lock_timeout * 60)
|
||||||
db = get_db()
|
db = get_db()
|
||||||
if db.need_create or db.need_upgrade:
|
if db.need_create or db.need_upgrade:
|
||||||
return
|
return
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
from app.const import *
|
from app.const import *
|
||||||
from app.base.db import get_db, SQL
|
from app.base.db import get_db, SQL
|
||||||
from app.base.logger import log
|
from app.base.logger import log
|
||||||
from app.base.utils import tp_timestamp_utc_now
|
from app.base.utils import tp_timestamp_sec
|
||||||
|
|
||||||
|
|
||||||
def sys_log(operator, client_ip, code, message=""):
|
def sys_log(operator, client_ip, code, message=""):
|
||||||
|
@ -13,7 +13,7 @@ def sys_log(operator, client_ip, code, message=""):
|
||||||
'VALUES ("{user_name}","{user_surname}","{client_ip}",{code},{log_time},"{message}")' \
|
'VALUES ("{user_name}","{user_surname}","{client_ip}",{code},{log_time},"{message}")' \
|
||||||
';'.format(db.table_prefix,
|
';'.format(db.table_prefix,
|
||||||
user_name=operator['username'], user_surname=operator['surname'], client_ip=client_ip, code=code,
|
user_name=operator['username'], user_surname=operator['surname'], client_ip=client_ip, code=code,
|
||||||
log_time=tp_timestamp_utc_now(), message=message
|
log_time=tp_timestamp_sec(), message=message
|
||||||
)
|
)
|
||||||
|
|
||||||
ret = db.exec(sql)
|
ret = db.exec(sql)
|
||||||
|
|
|
@ -4,7 +4,7 @@ import json
|
||||||
from app.const import *
|
from app.const import *
|
||||||
from app.base.db import get_db, SQL
|
from app.base.db import get_db, SQL
|
||||||
from app.base.logger import log
|
from app.base.logger import log
|
||||||
from app.base.utils import tp_timestamp_utc_now
|
from app.base.utils import tp_timestamp_sec
|
||||||
from . import syslog
|
from . import syslog
|
||||||
|
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@ def save_config(handler, msg, name, value):
|
||||||
|
|
||||||
def add_role(handler, role_name, privilege):
|
def add_role(handler, role_name, privilege):
|
||||||
db = get_db()
|
db = get_db()
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
operator = handler.get_current_user()
|
operator = handler.get_current_user()
|
||||||
|
|
||||||
# 1. 判断是否已经存在了
|
# 1. 判断是否已经存在了
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
from app.base.configs import tp_cfg
|
from app.base.configs import tp_cfg
|
||||||
from app.base.db import get_db, SQL
|
from app.base.db import get_db, SQL
|
||||||
from app.base.logger import log
|
from app.base.logger import log
|
||||||
from app.base.utils import tp_timestamp_utc_now, tp_generate_random
|
from app.base.utils import tp_timestamp_sec, tp_generate_random
|
||||||
from app.const import *
|
from app.const import *
|
||||||
from app.model import syslog
|
from app.model import syslog
|
||||||
from app.base.stats import tp_stats
|
from app.base.stats import tp_stats
|
||||||
|
@ -73,7 +73,7 @@ def login(handler, username, password=None, oath_code=None, check_bind_oath=Fals
|
||||||
if user_info['state'] == TP_STATE_LOCKED:
|
if user_info['state'] == TP_STATE_LOCKED:
|
||||||
# 用户已经被锁定,如果系统配置为一定时间后自动解锁,则更新一下用户信息
|
# 用户已经被锁定,如果系统配置为一定时间后自动解锁,则更新一下用户信息
|
||||||
if sys_cfg.login.lock_timeout != 0:
|
if sys_cfg.login.lock_timeout != 0:
|
||||||
if tp_timestamp_utc_now() - user_info.lock_time > sys_cfg.login.lock_timeout * 60:
|
if tp_timestamp_sec() - user_info.lock_time > sys_cfg.login.lock_timeout * 60:
|
||||||
user_info.fail_count = 0
|
user_info.fail_count = 0
|
||||||
user_info.state = TP_STATE_NORMAL
|
user_info.state = TP_STATE_NORMAL
|
||||||
if user_info['state'] == TP_STATE_LOCKED:
|
if user_info['state'] == TP_STATE_LOCKED:
|
||||||
|
@ -94,7 +94,7 @@ def login(handler, username, password=None, oath_code=None, check_bind_oath=Fals
|
||||||
if user_info['type'] == TP_USER_TYPE_LOCAL:
|
if user_info['type'] == TP_USER_TYPE_LOCAL:
|
||||||
# 如果系统配置了密码有效期,则检查用户的密码是否失效
|
# 如果系统配置了密码有效期,则检查用户的密码是否失效
|
||||||
if sys_cfg.password.timeout != 0:
|
if sys_cfg.password.timeout != 0:
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
if user_info['last_chpass'] + (sys_cfg.password.timeout * 60 * 60 * 24) < _time_now:
|
if user_info['last_chpass'] + (sys_cfg.password.timeout * 60 * 60 * 24) < _time_now:
|
||||||
msg = '登录失败,用户密码已过期'
|
msg = '登录失败,用户密码已过期'
|
||||||
syslog.sys_log(user_info, handler.request.remote_ip, TPE_USER_AUTH, msg)
|
syslog.sys_log(user_info, handler.request.remote_ip, TPE_USER_AUTH, msg)
|
||||||
|
@ -269,7 +269,7 @@ def create_users(handler, user_list, success, failed):
|
||||||
批量创建用户
|
批量创建用户
|
||||||
"""
|
"""
|
||||||
db = get_db()
|
db = get_db()
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
|
|
||||||
operator = handler.get_current_user()
|
operator = handler.get_current_user()
|
||||||
name_list = list()
|
name_list = list()
|
||||||
|
@ -329,7 +329,7 @@ def create_user(handler, user):
|
||||||
创建一个用户账号
|
创建一个用户账号
|
||||||
"""
|
"""
|
||||||
db = get_db()
|
db = get_db()
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
operator = handler.get_current_user()
|
operator = handler.get_current_user()
|
||||||
|
|
||||||
if 'type' not in user:
|
if 'type' not in user:
|
||||||
|
@ -476,7 +476,7 @@ def set_password(handler, mode, user_id, password):
|
||||||
if len(surname) == 0:
|
if len(surname) == 0:
|
||||||
surname = name
|
surname = name
|
||||||
|
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
|
|
||||||
sql = 'UPDATE `{}user` SET `password`="{password}", `last_chpass`={last_chpass} WHERE `id`={user_id};' \
|
sql = 'UPDATE `{}user` SET `password`="{password}", `last_chpass`={last_chpass} WHERE `id`={user_id};' \
|
||||||
''.format(db.table_prefix, password=password, last_chpass=_time_now, user_id=user_id)
|
''.format(db.table_prefix, password=password, last_chpass=_time_now, user_id=user_id)
|
||||||
|
@ -499,7 +499,7 @@ def generate_reset_password_token(handler, user_id):
|
||||||
db = get_db()
|
db = get_db()
|
||||||
operator = handler.get_current_user()
|
operator = handler.get_current_user()
|
||||||
s = SQL(db)
|
s = SQL(db)
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
|
|
||||||
# 0. query user's email by user_id
|
# 0. query user's email by user_id
|
||||||
err = s.select_from('user', ['email'], alt_name='u').where('u.id={user_id}'.format(user_id=user_id)).query()
|
err = s.select_from('user', ['email'], alt_name='u').where('u.id={user_id}'.format(user_id=user_id)).query()
|
||||||
|
@ -542,7 +542,7 @@ def generate_reset_password_token(handler, user_id):
|
||||||
def check_reset_token(token):
|
def check_reset_token(token):
|
||||||
db = get_db()
|
db = get_db()
|
||||||
# s = SQL(db)
|
# s = SQL(db)
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
|
|
||||||
# 0. remove expired token (after 3 days)
|
# 0. remove expired token (after 3 days)
|
||||||
sql = 'DELETE FROM `{dbtp}user_rpt` WHERE create_time<{dbph};'.format(dbtp=db.table_prefix, dbph=db.place_holder)
|
sql = 'DELETE FROM `{dbtp}user_rpt` WHERE create_time<{dbph};'.format(dbtp=db.table_prefix, dbph=db.place_holder)
|
||||||
|
@ -573,7 +573,7 @@ def remove_reset_token(token):
|
||||||
|
|
||||||
def update_login_info(handler, user_id):
|
def update_login_info(handler, user_id):
|
||||||
db = get_db()
|
db = get_db()
|
||||||
_time_now = tp_timestamp_utc_now()
|
_time_now = tp_timestamp_sec()
|
||||||
|
|
||||||
sql = 'UPDATE `{}user` SET ' \
|
sql = 'UPDATE `{}user` SET ' \
|
||||||
'fail_count=0, last_login=login_time, last_ip=login_ip, login_time={login_time},' \
|
'fail_count=0, last_login=login_time, last_ip=login_ip, login_time={login_time},' \
|
||||||
|
@ -663,7 +663,7 @@ def update_fail_count(handler, user_info):
|
||||||
if sys_cfg.login.retry != 0 and fail_count >= sys_cfg.login.retry:
|
if sys_cfg.login.retry != 0 and fail_count >= sys_cfg.login.retry:
|
||||||
is_locked = True
|
is_locked = True
|
||||||
sql = 'UPDATE `{}user` SET state={state}, lock_time={lock_time} WHERE id={uid};' \
|
sql = 'UPDATE `{}user` SET state={state}, lock_time={lock_time} WHERE id={uid};' \
|
||||||
''.format(db.table_prefix, state=TP_STATE_LOCKED, lock_time=tp_timestamp_utc_now(), uid=user_info.id)
|
''.format(db.table_prefix, state=TP_STATE_LOCKED, lock_time=tp_timestamp_sec(), uid=user_info.id)
|
||||||
sql_list.append(sql)
|
sql_list.append(sql)
|
||||||
|
|
||||||
if db.transaction(sql_list):
|
if db.transaction(sql_list):
|
||||||
|
|
Loading…
Reference in New Issue