2017-10-10 09:31:50 +00:00
|
|
|
"use strict";
|
|
|
|
|
|
|
|
var g_url_base = 'http://127.0.0.1:50022';
|
|
|
|
|
|
|
|
var g_cfg = null;
|
|
|
|
|
|
|
|
var dom = {
|
2018-11-10 22:10:35 +00:00
|
|
|
version: $('#version'),
|
|
|
|
|
|
|
|
ssh_type: $('#ssh-type'),
|
|
|
|
ssh_app: $('#ssh-app'),
|
|
|
|
ssh_cmdline: $('#ssh-cmdline'),
|
2018-11-13 16:45:25 +00:00
|
|
|
ssh_desc: $('#ssh-desc'),
|
2018-11-10 22:10:35 +00:00
|
|
|
|
|
|
|
sftp_type: $('#sftp-type'),
|
|
|
|
sftp_app: $('#sftp-app'),
|
|
|
|
sftp_cmdline: $('#sftp-cmdline'),
|
2018-11-13 16:45:25 +00:00
|
|
|
sftp_desc: $('#sftp-desc'),
|
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
|
|
|
|
telnet_type: $('#telnet-type'),
|
|
|
|
telnet_app: $('#telnet-app'),
|
|
|
|
telnet_cmdline: $('#telnet-cmdline'),
|
2018-11-13 16:45:25 +00:00
|
|
|
telnet_desc: $('#telnet-desc'),
|
2018-11-10 22:10:35 +00:00
|
|
|
|
2018-05-07 09:12:00 +00:00
|
|
|
rdp_type: $('#rdp-type'),
|
|
|
|
rdp_app: $('#rdp-app'),
|
2018-11-10 22:10:35 +00:00
|
|
|
rdp_cmdline: $('#rdp-cmdline'),
|
2018-11-13 16:45:25 +00:00
|
|
|
rdp_desc: $('#rdp-desc'),
|
2017-10-10 09:31:50 +00:00
|
|
|
|
|
|
|
btn_save: $('#btn-save')
|
|
|
|
};
|
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
function get_version() {
|
|
|
|
$.ajax({
|
|
|
|
type: 'GET',
|
|
|
|
timeout: 5000,
|
|
|
|
url: g_url_base + '/api/get_version',
|
|
|
|
jsonp: 'callback',
|
|
|
|
dataType: 'json',
|
|
|
|
success: function (ret) {
|
|
|
|
if (ret.code == 0) {
|
|
|
|
dom.version.text('v' + ret.version);
|
|
|
|
} else {
|
|
|
|
alert("获取助手版本信息失败!");
|
|
|
|
}
|
|
|
|
},
|
|
|
|
error: function (jqXhr, _error, _e) {
|
|
|
|
console.log('state:', jqXhr.state());
|
|
|
|
alert("获取助手版本信息失败!");
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
2017-10-10 09:31:50 +00:00
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
function get_config() {
|
2017-10-10 09:31:50 +00:00
|
|
|
$.ajax({
|
|
|
|
type: 'GET',
|
|
|
|
timeout: 5000,
|
|
|
|
url: g_url_base + '/api/get_config',
|
|
|
|
jsonp: 'callback',
|
|
|
|
dataType: 'json',
|
|
|
|
success: function (ret) {
|
|
|
|
if (ret.code == 0) {
|
|
|
|
g_cfg = ret.data;
|
2018-11-10 22:10:35 +00:00
|
|
|
console.log(g_cfg);
|
2017-10-10 09:31:50 +00:00
|
|
|
update_dom();
|
|
|
|
} else {
|
2018-11-10 22:10:35 +00:00
|
|
|
alert("获取配置信息失败!");
|
2017-10-10 09:31:50 +00:00
|
|
|
}
|
|
|
|
},
|
|
|
|
error: function (jqXhr, _error, _e) {
|
|
|
|
console.log('state:', jqXhr.state());
|
2018-11-10 22:10:35 +00:00
|
|
|
alert("获取配置信息失败!");
|
2017-10-10 09:31:50 +00:00
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
function update_dom() {
|
2018-11-10 22:10:35 +00:00
|
|
|
if (_.isNull(g_cfg))
|
|
|
|
return;
|
|
|
|
|
|
|
|
dom.ssh_type.html('');
|
|
|
|
if (!_.isUndefined(g_cfg.ssh)) {
|
|
|
|
if (_.isUndefined(g_cfg.ssh.selected)) {
|
|
|
|
g_cfg.ssh.selected = '';
|
|
|
|
}
|
2017-10-10 09:31:50 +00:00
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
if (!_.isUndefined(g_cfg.ssh.available) && g_cfg.ssh.available.length > 0) {
|
|
|
|
var selected = '';
|
|
|
|
var app = '';
|
|
|
|
var cmdline = '';
|
|
|
|
|
|
|
|
var html = [];
|
|
|
|
for (var i = 0; i < g_cfg.ssh.available.length; i++) {
|
|
|
|
var item = g_cfg.ssh.available[i];
|
|
|
|
|
|
|
|
if (selected === '' || item.name === g_cfg.ssh.selected) {
|
|
|
|
selected = item.name;
|
|
|
|
app = item.app;
|
|
|
|
cmdline = item.cmdline;
|
|
|
|
}
|
2017-10-10 09:31:50 +00:00
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
html.push('<option value="' + item.name + '">' + item.display + '</option>');
|
|
|
|
}
|
|
|
|
|
|
|
|
dom.ssh_type.html(html.join(''));
|
|
|
|
|
|
|
|
dom.ssh_type.val(selected);
|
|
|
|
dom.ssh_app.val(app);
|
|
|
|
dom.ssh_cmdline.val(cmdline);
|
2018-11-13 16:45:25 +00:00
|
|
|
|
|
|
|
$(dom.ssh_type).trigger('change');
|
2018-11-10 22:10:35 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
dom.sftp_type.html('');
|
|
|
|
if (!_.isUndefined(g_cfg.sftp)) {
|
|
|
|
if (_.isUndefined(g_cfg.sftp.selected)) {
|
|
|
|
g_cfg.sftp.selected = '';
|
2017-10-10 09:31:50 +00:00
|
|
|
}
|
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
if (!_.isUndefined(g_cfg.sftp.available) && g_cfg.sftp.available.length > 0) {
|
2017-10-10 09:31:50 +00:00
|
|
|
var selected = '';
|
2018-11-10 22:10:35 +00:00
|
|
|
var app = '';
|
|
|
|
var cmdline = '';
|
2017-10-10 09:31:50 +00:00
|
|
|
|
|
|
|
var html = [];
|
2018-11-10 22:10:35 +00:00
|
|
|
for (var i = 0; i < g_cfg.sftp.available.length; i++) {
|
|
|
|
var item = g_cfg.sftp.available[i];
|
2017-10-10 09:31:50 +00:00
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
if (selected === '' || item.name === g_cfg.sftp.selected) {
|
2017-10-10 09:31:50 +00:00
|
|
|
selected = item.name;
|
2018-11-10 22:10:35 +00:00
|
|
|
app = item.app;
|
|
|
|
cmdline = item.cmdline;
|
2017-10-10 09:31:50 +00:00
|
|
|
}
|
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
html.push('<option value="' + item.name + '">' + item.display + '</option>');
|
2017-10-10 09:31:50 +00:00
|
|
|
}
|
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
dom.sftp_type.html(html.join(''));
|
2017-10-10 09:31:50 +00:00
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
dom.sftp_type.val(selected);
|
|
|
|
dom.sftp_app.val(app);
|
|
|
|
dom.sftp_cmdline.val(cmdline);
|
2018-11-13 16:45:25 +00:00
|
|
|
|
|
|
|
$(dom.sftp_type).trigger('change');
|
2017-10-10 09:31:50 +00:00
|
|
|
}
|
|
|
|
}
|
2018-05-07 09:12:00 +00:00
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
|
|
|
|
dom.telnet_type.html('');
|
|
|
|
if (!_.isUndefined(g_cfg.telnet)) {
|
|
|
|
if (_.isUndefined(g_cfg.telnet.selected)) {
|
|
|
|
g_cfg.telnet.selected = '';
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!_.isUndefined(g_cfg.telnet.available) && g_cfg.telnet.available.length > 0) {
|
|
|
|
var selected = '';
|
|
|
|
var app = '';
|
|
|
|
var cmdline = '';
|
|
|
|
|
|
|
|
var html = [];
|
|
|
|
for (var i = 0; i < g_cfg.telnet.available.length; i++) {
|
|
|
|
var item = g_cfg.telnet.available[i];
|
|
|
|
|
|
|
|
if (selected === '' || item.name === g_cfg.telnet.selected) {
|
|
|
|
selected = item.name;
|
|
|
|
app = item.app;
|
|
|
|
cmdline = item.cmdline;
|
|
|
|
}
|
|
|
|
|
|
|
|
html.push('<option value="' + item.name + '">' + item.display + '</option>');
|
|
|
|
}
|
|
|
|
|
|
|
|
dom.telnet_type.html(html.join(''));
|
|
|
|
|
|
|
|
dom.telnet_type.val(selected);
|
|
|
|
dom.telnet_app.val(app);
|
|
|
|
dom.telnet_cmdline.val(cmdline);
|
2018-11-13 16:45:25 +00:00
|
|
|
|
|
|
|
$(dom.telnet_type).trigger('change');
|
2018-11-10 22:10:35 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
dom.rdp_type.html('');
|
2018-05-07 09:12:00 +00:00
|
|
|
if (!_.isUndefined(g_cfg.rdp)) {
|
|
|
|
if (_.isUndefined(g_cfg.rdp.selected)) {
|
|
|
|
g_cfg.rdp.selected = '';
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!_.isUndefined(g_cfg.rdp.available) && g_cfg.rdp.available.length > 0) {
|
|
|
|
var selected = '';
|
|
|
|
var app = '';
|
2018-11-10 22:10:35 +00:00
|
|
|
var cmdline = '';
|
2018-05-07 09:12:00 +00:00
|
|
|
|
|
|
|
var html = [];
|
|
|
|
for (var i = 0; i < g_cfg.rdp.available.length; i++) {
|
|
|
|
var item = g_cfg.rdp.available[i];
|
|
|
|
|
|
|
|
if (selected === '' || item.name === g_cfg.rdp.selected) {
|
|
|
|
selected = item.name;
|
|
|
|
app = item.app;
|
2018-11-10 22:10:35 +00:00
|
|
|
cmdline = item.cmdline;
|
2018-05-07 09:12:00 +00:00
|
|
|
}
|
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
html.push('<option value="' + item.name + '">' + item.display + '</option>');
|
2018-05-07 09:12:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
dom.rdp_type.html(html.join(''));
|
|
|
|
|
|
|
|
dom.rdp_type.val(selected);
|
|
|
|
dom.rdp_app.val(app);
|
2018-11-10 22:10:35 +00:00
|
|
|
dom.rdp_cmdline.val(cmdline);
|
2018-11-13 16:45:25 +00:00
|
|
|
|
|
|
|
$(dom.rdp_type).trigger('change');
|
2018-05-07 09:12:00 +00:00
|
|
|
}
|
|
|
|
}
|
2017-10-10 09:31:50 +00:00
|
|
|
}
|
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
function on_save() {
|
|
|
|
if (g_cfg === null)
|
|
|
|
return;
|
2017-10-10 09:31:50 +00:00
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
var i = 0;
|
|
|
|
for (i = 0; i < g_cfg.ssh.available.length; i++) {
|
|
|
|
var item = g_cfg.ssh.available[i];
|
|
|
|
if (item.name === g_cfg.ssh.selected) {
|
|
|
|
item.app = dom.ssh_app.val();
|
|
|
|
item.cmdline = dom.ssh_cmdline.val();
|
|
|
|
break;
|
2017-10-10 09:31:50 +00:00
|
|
|
}
|
|
|
|
}
|
2018-11-10 22:10:35 +00:00
|
|
|
for (i = 0; i < g_cfg.sftp.available.length; i++) {
|
|
|
|
var item = g_cfg.sftp.available[i];
|
|
|
|
if (item.name === g_cfg.sftp.selected) {
|
|
|
|
item.app = dom.sftp_app.val();
|
|
|
|
item.cmdline = dom.sftp_cmdline.val();
|
|
|
|
break;
|
2018-05-07 09:12:00 +00:00
|
|
|
}
|
|
|
|
}
|
2018-11-13 16:45:25 +00:00
|
|
|
// for (i = 0; i < g_cfg.telnet.available.length; i++) {
|
|
|
|
// var item = g_cfg.telnet.available[i];
|
|
|
|
// if (item.name === g_cfg.telnet.selected) {
|
|
|
|
// item.app = dom.telnet_app.val();
|
|
|
|
// item.cmdline = dom.telnet_cmdline.val();
|
|
|
|
// break;
|
|
|
|
// }
|
|
|
|
// }
|
2018-11-10 22:10:35 +00:00
|
|
|
for (i = 0; i < g_cfg.rdp.available.length; i++) {
|
2018-05-07 09:12:00 +00:00
|
|
|
var item = g_cfg.rdp.available[i];
|
|
|
|
if (item.name === g_cfg.rdp.selected) {
|
|
|
|
item.app = dom.rdp_app.val();
|
2018-11-10 22:10:35 +00:00
|
|
|
item.cmdline = dom.rdp_cmdline.val();
|
2018-05-07 09:12:00 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2017-10-10 09:31:50 +00:00
|
|
|
|
|
|
|
var args_ = encodeURIComponent(JSON.stringify(g_cfg));
|
|
|
|
|
|
|
|
$.ajax({
|
|
|
|
type: 'GET',
|
|
|
|
timeout: 5000,
|
|
|
|
url: g_url_base + '/api/set_config/' + args_,
|
|
|
|
jsonp: 'callback',
|
|
|
|
dataType: 'json',
|
|
|
|
success: function (ret) {
|
|
|
|
if (ret.code == 0) {
|
|
|
|
notify_success('设置保存成功!');
|
|
|
|
} else {
|
|
|
|
notify_error('设置保存失败!' + ret.code);
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
error: function () {
|
|
|
|
notify_error('网络故障,设置保存失败');
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
var select_local_file = function (callback) {
|
|
|
|
var data = {
|
|
|
|
action: 1
|
|
|
|
};
|
|
|
|
var args_ = encodeURIComponent(JSON.stringify(data));
|
|
|
|
|
|
|
|
$.ajax({
|
|
|
|
type: 'GET',
|
|
|
|
timeout: -1,
|
|
|
|
url: g_url_base + '/api/file_action/' + args_,
|
|
|
|
jsonp: 'callback',
|
|
|
|
dataType: 'json',
|
|
|
|
success: function (ret) {
|
|
|
|
if(ret.code === 0)
|
|
|
|
callback(0, ret.path);
|
|
|
|
},
|
|
|
|
error: function (jqXhr, _error, _e) {
|
|
|
|
console.log('state:', jqXhr.state());
|
|
|
|
callback(-1, "");
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2017-10-10 09:31:50 +00:00
|
|
|
function notify_error(message_, title_) {
|
|
|
|
var _title = title_ || '';
|
|
|
|
$.gritter.add({
|
|
|
|
class_name: 'gritter-error',
|
|
|
|
time: 10000,
|
|
|
|
title: '<i class="fa fa-warning fa-fw"></i> 错误:' + _title,
|
|
|
|
text: message_
|
|
|
|
});
|
|
|
|
console.error('错误', _title, message_);
|
|
|
|
};
|
|
|
|
|
|
|
|
function notify_success(message_, title_) {
|
|
|
|
var _title = title_ || null;
|
|
|
|
if (_title !== null)
|
|
|
|
_title = '<i class="fa fa-check-square fa-fw"></i> ' + _title;
|
|
|
|
$.gritter.add({
|
|
|
|
class_name: 'gritter-success',
|
|
|
|
time: 5000,
|
|
|
|
title: _title,
|
|
|
|
text: message_
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
$(document).ready(function () {
|
2018-11-10 22:10:35 +00:00
|
|
|
get_version();
|
|
|
|
|
|
|
|
dom.ssh_type.change(function () {
|
|
|
|
g_cfg.ssh.selected = dom.ssh_type.val();
|
|
|
|
for (var i = 0; i < g_cfg.ssh.available.length; i++) {
|
|
|
|
var item = g_cfg.ssh.available[i];
|
|
|
|
if (item.name === g_cfg.ssh.selected) {
|
|
|
|
dom.ssh_app.val(item.app);
|
|
|
|
dom.ssh_cmdline.val(item.cmdline);
|
2018-11-13 16:45:25 +00:00
|
|
|
|
|
|
|
var html = [];
|
|
|
|
for(var j = 0; j < item.desc.length; j++) {
|
|
|
|
html.push('<div class="desc"><i class="fa fa-info-circle"></i> ' + item.desc[j] + '</div>');
|
|
|
|
}
|
|
|
|
dom.ssh_desc.html(html.join(''));
|
2018-11-10 22:10:35 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
notify_error('所选的配置项不存在!');
|
|
|
|
});
|
|
|
|
|
2018-11-13 16:45:25 +00:00
|
|
|
|
2018-11-10 22:10:35 +00:00
|
|
|
dom.sftp_type.change(function () {
|
|
|
|
g_cfg.sftp.selected = dom.sftp_type.val();
|
|
|
|
for (var i = 0; i < g_cfg.sftp.available.length; i++) {
|
|
|
|
var item = g_cfg.sftp.available[i];
|
|
|
|
if (item.name === g_cfg.sftp.selected) {
|
|
|
|
dom.sftp_app.val(item.app);
|
|
|
|
dom.sftp_cmdline.val(item.cmdline);
|
2018-11-13 16:45:25 +00:00
|
|
|
|
|
|
|
var html = [];
|
|
|
|
for(var j = 0; j < item.desc.length; j++) {
|
|
|
|
html.push('<div class="desc"><i class="fa fa-info-circle"></i> ' + item.desc[j] + '</div>');
|
|
|
|
}
|
|
|
|
dom.sftp_desc.html(html.join(''));
|
2018-11-10 22:10:35 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
notify_error('所选的配置项不存在!');
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
dom.telnet_type.change(function () {
|
|
|
|
g_cfg.telnet.selected = dom.telnet_type.val();
|
|
|
|
for (var i = 0; i < g_cfg.telnet.available.length; i++) {
|
|
|
|
var item = g_cfg.telnet.available[i];
|
|
|
|
if (item.name === g_cfg.telnet.selected) {
|
|
|
|
dom.telnet_app.val(item.app);
|
|
|
|
dom.telnet_cmdline.val(item.cmdline);
|
2018-11-13 16:45:25 +00:00
|
|
|
|
|
|
|
var html = [];
|
|
|
|
for(var j = 0; j < item.desc.length; j++) {
|
|
|
|
html.push('<div class="desc"><i class="fa fa-info-circle"></i> ' + item.desc[j] + '</div>');
|
|
|
|
}
|
|
|
|
dom.telnet_desc.html(html.join(''));
|
2018-11-10 22:10:35 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
notify_error('所选的配置项不存在!');
|
|
|
|
});
|
|
|
|
|
|
|
|
|
2018-05-07 09:12:00 +00:00
|
|
|
dom.rdp_type.change(function () {
|
2018-11-10 22:10:35 +00:00
|
|
|
g_cfg.rdp.selected = dom.rdp_type.val();
|
|
|
|
for (var i = 0; i < g_cfg.rdp.available.length; i++) {
|
|
|
|
var item = g_cfg.rdp.available[i];
|
|
|
|
if (item.name === g_cfg.rdp.selected) {
|
|
|
|
dom.rdp_app.val(item.app);
|
|
|
|
dom.rdp_cmdline.val(item.cmdline);
|
2018-11-13 16:45:25 +00:00
|
|
|
|
|
|
|
var html = [];
|
|
|
|
for(var j = 0; j < item.desc.length; j++) {
|
|
|
|
html.push('<div class="desc"><i class="fa fa-info-circle"></i> ' + item.desc[j] + '</div>');
|
|
|
|
}
|
|
|
|
dom.rdp_desc.html(html.join(''));
|
2018-11-10 22:10:35 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
notify_error('所选的配置项不存在!');
|
2018-05-07 09:12:00 +00:00
|
|
|
});
|
2018-11-13 16:45:25 +00:00
|
|
|
|
|
|
|
|
|
|
|
get_config();
|
2018-11-10 22:10:35 +00:00
|
|
|
|
2017-10-10 09:31:50 +00:00
|
|
|
|
|
|
|
dom.btn_save.click(function () {
|
|
|
|
on_save();
|
|
|
|
});
|
2018-11-13 16:45:25 +00:00
|
|
|
});
|