teleport/server/www/teleport/static/js/ui/set.js

220 lines
6.4 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/**
* Created by mi on 2016/7/4.
*/
var REFRESH_TIMEOUT = 10;
var g_assist = null;
ywl.on_init = function (cb_stack, cb_args) {
ywl.refresh_timeout = REFRESH_TIMEOUT;
g_assist = ywl.create_assist();
var core_server = ywl.page_options.core_server;
console.log(ywl.page_options, core_server);
$("#current-rdp-port").val(core_server.rdp.port);
$("#current-ssh-port").val(core_server.ssh.port);
$("#current-telnet-port").val(core_server.telnet.port);
// $('#select-ip li a').click(function () {
// $("#current-ts-server-ip").val($(this).text());
// });
$("#btn-check").click(function () {
var ts_server_ip = $("#current-ts-server-ip").val();
var ts_server_rdp_port = $("#current-rdp-port").val();
var ts_server_ssh_port = $("#current-ssh-port").val();
var ts_server_telnet_port = $("#current-telnet-port").val();
var list = [];
var item_1 = {name: 'ts_server_ip', value: ts_server_ip};
list.push(item_1);
// var item_2 = {name: 'ts_server_rpc_ip', value: ts_server_rpc_ip};
// list.push(item_2);
//
// var item_3 = {name: 'ts_server_rpc_port', value: ts_server_rpc_port};
// list.push(item_3);
var item_4 = {name: 'ts_server_rdp_port', value: ts_server_rdp_port};
list.push(item_4);
var item_5 = {name: 'ts_server_ssh_port', value: ts_server_ssh_port};
list.push(item_5);
var rdp_port = parseInt(ts_server_rdp_port);
var ssh_port = parseInt(ts_server_ssh_port);
var args_ = encodeURIComponent(JSON.stringify({server_ip: ts_server_ip, rdp_port: rdp_port, ssh_port: ssh_port}));
$.ajax({
type: 'GET',
timeout: 60000,
url: 'http://127.0.0.1:50022/ts_check/' + args_,
jsonp: 'callback',
dataType: 'json',
success: function (ret) {
if (ret.code === 0) {
ywl.notify_success("测试通过,可以正常使用 teleport 堡垒机!");
} else if (ret.code === 7) {
ywl.notify_error("PING测试通过TCP端口测试未通过请检查防火墙设置");
} else {
console.log('ret', ret);
ywl.notify_error("测试失败,请检查 teleport 堡垒机地址是否正确,并检查防火墙设置!");
}
},
error: function () {
g_assist.alert_assist_not_found();
}
});
});
$("#btn-save-config").click(function () {
var ts_server_ip = $("#current-ts-server-ip").val();
// var ts_server_rpc_ip = $("#current-rpc-ip").val();
// var ts_server_rpc_port = $("#current-rpc-port").val();
var ts_server_rdp_port = $("#current-rdp-port").val();
var ts_server_ssh_port = $("#current-ssh-port").val();
var ts_server_telnet_port = $("#current-telnet-port").val();
var reboot = false;
var new_config = [];
var old_config = ywl.page_options.config_list;
if (ts_server_ip != old_config['ts_server_ip']) {
new_config.push({name: 'ts_server_ip', value: ts_server_ip});
}
if (ts_server_rdp_port != old_config['ts_server_rdp_port']) {
new_config.push({name: 'ts_server_rdp_port', value: ts_server_rdp_port});
reboot = true;
}
if (ts_server_ssh_port != old_config['ts_server_ssh_port']) {
new_config.push({name: 'ts_server_ssh_port', value: ts_server_ssh_port});
reboot = true;
}
if (ts_server_telnet_port != old_config['ts_server_telnet_port']) {
new_config.push({name: 'ts_server_telnet_port', value: ts_server_telnet_port});
reboot = true;
}
if (new_config.length == 0) {
// nothing changed.
ywl.notify_error('配置未改变,无需保存!');
return;
}
if (!reboot) {
ywl.ajax_post_json('/set/update-config', {cfg: new_config, reboot: false},
function (ret) {
if (ret.code == 0) {
ywl.notify_success('配置保存成功!');
ywl.page_options.config_list['ts_server_ip'] = ts_server_ip;
}
else {
ywl.notify_error('配置保存失败!');
}
},
function () {
ywl.notify_error('配置保存失败!');
}
);
return;
}
// if need reboot, let user confirm.
var _fn_sure = function (cb_stack, cb_args) {
ywl.ajax_post_json('/set/update-config', {cfg: new_config, reboot: true},
function (ret) {
if (ret.code == 0) {
$('#dlg_restart_service').modal({backdrop: 'static', keyboard: false});
ywl.refresh_timeout = REFRESH_TIMEOUT;
setInterval(ywl.refresh, 1000);
// 5 秒之后刷新页面,导致重定向到登录页面
// setTimeout(function () {
// location.reload(true);
// }, 5000);
}
else {
ywl.notify_error('配置信息保存失败!');
}
},
function () {
ywl.notify_error('配置信息保存失败!');
}
);
};
var cb_stack = CALLBACK_STACK.create();
ywl.dlg_confirm(cb_stack, {
msg: '<p><strong>为使设置生效需要重启teleport服务服务重启过程中WEB后台和跳板连接均会中断</strong></p><p>您确定要保存设置并重启teleport服务吗</p>',
fn_yes: _fn_sure
});
});
// $("#btn-os-reboot").click(function () {
// var _fn_sure = function (cb_stack, cb_args) {
// ywl.ajax_post_json('/set/os-operator', {OP: 1},
// function (ret) {
// if (ret.code == 0) {
// ywl.notify_success('正在重新启动系统');
// }
// else {
// ywl.notify_error('重启系统失败');
// }
// },
// function () {
// ywl.notify_error('重启系统失败');
// }
// );
// };
// var cb_stack = CALLBACK_STACK.create();
//
// ywl.dlg_confirm(cb_stack, {
// msg: '<p>您确定要重启系统吗?!!</p>',
// fn_yes: _fn_sure
// });
//
// });
// $("#btn-os-shut").click(function () {
// var _fn_sure = function (cb_stack, cb_args) {
// ywl.ajax_post_json('/set/os-operator', {OP: 2},
// function (ret) {
// if (ret.code == 0) {
// ywl.notify_success('正在关闭系统');
// }
// else {
// ywl.notify_error('关闭系统失败');
// }
// },
// function () {
// ywl.notify_error('关闭系统失败');
// }
// );
// };
// var cb_stack = CALLBACK_STACK.create();
//
// ywl.dlg_confirm(cb_stack, {
// msg: '<p>您确定要关闭系统吗?!!</p>',
// fn_yes: _fn_sure
// });
// });
cb_stack.exec();
};
ywl.refresh = function () {
ywl.refresh_timeout -= 1;
if (0 == ywl.refresh_timeout) {
location.reload(true);
} else {
$('#reboot_time').html(ywl.refresh_timeout);
}
};