Files
frpc-panel/assets/static/js/index-client-info.js
2024-01-11 13:11:12 +08:00

50 lines
1.7 KiB
JavaScript

var loadClientInfo = (function ($) {
var i18n = {};
/**
* get client info
* @param lang {Map<string,string>} language json
* @param title {string} page title
*/
function loadClientInfo(lang, title) {
i18n = lang;
$("#title").text(title);
$('#content').empty();
var loading = layui.layer.load();
$.getJSON('/proxy/api/config', {
type: 'none'
}).done(function (result) {
if (result.success) {
var proxies = [];
result.data.proxies.forEach(function (proxy) {
var items = flatJSON(proxy.ProxyConfigurer);
proxies.push(expandJSON(items))
})
var visitors = [];
result.data.visitors.forEach(function (visitor) {
var items = flatJSON(visitor.VisitorConfigurer);
visitors.push(expandJSON(items))
})
window.clientConfig = $.extend(true, {}, result.data);
window.clientConfig.proxies = proxies;
window.clientConfig.visitors = visitors;
renderClientInfo(result.data);
} else {
layui.layer.msg(result.message);
}
}).always(function () {
layui.layer.close(loading);
});
}
function renderClientInfo(data) {
data.transport.tcpMux = i18n[data.transport.tcpMux];
data.transport.tls.enable = i18n[data.transport.tls.enable];
var html = layui.laytpl($('#clientInfoTemplate').html()).render(data);
$('#content').html(html);
}
return loadClientInfo;
})(layui.$);