This commit is contained in:
chenhaodong
2023-07-05 11:06:03 +08:00
parent 8de47479c5
commit 7c55f8da61
234 changed files with 54941 additions and 18 deletions
@@ -0,0 +1,86 @@
<div class="layui-tab layui-tab-brief">
<ul class="layui-tab-title site-demo-title">
<li class="layui-this i18n-new-proxy"></li>
</ul>
<div class="main-content">
<div class="layui-form-item">
<label class="layui-form-label i18n-lan-name"></label>
<div class="layui-input-block">
<input type="text" name="name" autocomplete="off" placeholder="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label i18n-lan-inetport"></label>
<div class="layui-input-block">
<input type="text" name="inetPort" autocomplete="off" placeholder="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label i18n-lan-ip"></label>
<div class="layui-input-block">
<input type="text" name="lan" autocomplete="off" placeholder="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn add"></button>
<button class="layui-btn layui-btn-primary back"></button>
</div>
</div>
</div>
</div>
<script>
$(".i18n-new-proxy").html($.i18n.prop('lan.addnewconfig'));
$(".i18n-lan-name").html($.i18n.prop('lan.name'));
$(".i18n-lan-inetport").html($.i18n.prop('lan.inetport'));
$(".i18n-lan-ip").html($.i18n.prop('lan.ip'));
$("input[name='inetPort']").attr("placeholder", $.i18n.prop('lan.inetport.placeholder'));
$("input[name='lan']").attr("placeholder", $.i18n.prop('lan.ip.placeholder'));
$(".add").html($.i18n.prop('public.submit'));
$(".back").html($.i18n.prop('public.back'));
$(".add").click(function(){
var name = $("input[name='name']").val();
if(name == ""){
layer.alert($.i18n.prop('lan.notice.inputname'), {title:"Tips"});
return;
}
var inetPort = $("input[name='inetPort']").val();
if(inetPort == ""){
layer.alert($.i18n.prop('lan.notice.inputinetport'), {title:"Tips"});
return;
}
if(!check_port(inetPort)){
layer.alert($.i18n.prop('lan.notice.errorport'), {title:"Tips"});
return;
}
var lan = $("input[name='lan']").val();
if(lan == ""){
layer.alert($.i18n.prop('lan.notice.inputlan'), {title:"Tips"});
return;
}
if(!check_lan(lan)){
layer.alert($.i18n.prop('lan.notice.errorlan'), {title:"Tips"});
return;
}
clientList[clientIndex].proxyMappings.push({
name:name,
inetPort:inetPort,
lan:lan
});
api_invoke("/config/update", clientList, function(data) {
if (data.code == 20000) {
layer.alert($.i18n.prop('public.notice.addsuccess'), {title:"Tips"}, function(index){
layer.close(index);
load_page("html/lan/list.html");
});
}
});
});
$(".back").click(function(){
load_page("html/lan/list.html");
});
</script>
@@ -0,0 +1,91 @@
<div class="layui-tab layui-tab-brief">
<ul class="layui-tab-title site-demo-title">
<li class="layui-this i18n-lan-title"></li>
</ul>
<div class="main-content">
<div class="layui-form-item">
<label class="layui-form-label i18n-lan-name"></label>
<div class="layui-input-block">
<input type="text" name="name" autocomplete="off" placeholder="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label i18n-lan-inetport"></label>
<div class="layui-input-block">
<input type="text" name="inetPort" autocomplete="off" placeholder="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label i18n-lan-ip"></label>
<div class="layui-input-block">
<input type="text" name="lan" autocomplete="off" placeholder="" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn update"></button>
<button class="layui-btn layui-btn-primary back"></button>
</div>
</div>
</div>
</div>
<script>
$(function(){
$("input[name='name']").val(clientList[clientIndex].proxyMappings[mappingIndex].name);
$("input[name='inetPort']").val(clientList[clientIndex].proxyMappings[mappingIndex].inetPort);
$("input[name='lan']").val(clientList[clientIndex].proxyMappings[mappingIndex].lan);
$(".i18n-lan-title").html($.i18n.prop('lan.editconfig'));
$(".i18n-lan-name").html($.i18n.prop('lan.name'));
$(".i18n-lan-inetport").html($.i18n.prop('lan.inetport'));
$(".i18n-lan-ip").html($.i18n.prop('lan.ip'));
$("input[name='inetPort']").attr("placeholder", $.i18n.prop('lan.inetport.placeholder'));
$("input[name='lan']").attr("placeholder", $.i18n.prop('lan.ip.placeholder'));
$(".update").html($.i18n.prop('public.submit'));
$(".back").html($.i18n.prop('public.back'));
});
$(".update").click(function(){
var name = $("input[name='name']").val();
if(name == ""){
layer.alert($.i18n.prop('lan.notice.inputname'), {title:"Tips"});
return;
}
var inetPort = $("input[name='inetPort']").val();
if(inetPort == ""){
layer.alert($.i18n.prop('lan.notice.inputinetport'), {title:"Tips"});
return;
}
if(!check_port(inetPort)){
layer.alert($.i18n.prop('lan.notice.errorport'), {title:"Tips"});
return;
}
var lan = $("input[name='lan']").val();
if(lan == ""){
layer.alert($.i18n.prop('lan.notice.inputlan'), {title:"Tips"});
return;
}
if(!check_lan(lan)){
layer.alert($.i18n.prop('lan.notice.errorlan'), {title:"Tips"});
return;
}
clientList[clientIndex].proxyMappings[mappingIndex]= {
name:name,
inetPort:inetPort,
lan:lan
};
api_invoke("/config/update", clientList, function(data) {
if (data.code == 20000) {
layer.alert($.i18n.prop('public.notice.updatesuccess'), {title:"Tips"}, function(index){
layer.close(index);
load_page("html/lan/list.html");
});
}
});
});
$(".back").click(function(){
load_page("html/lan/list.html");
});
</script>
@@ -0,0 +1,80 @@
<div class="layui-tab layui-tab-brief">
<ul class="layui-tab-title site-demo-title">
<li class="layui-this tab-title"></li>
</ul>
<div class="main-content"></div>
<div class="layui-input-block" style="float: left; margin-left: 15px;">
<button class="layui-btn mapping-add"></button>
</div>
</div>
<script id="mapping-tpl" type="text/html">
<table class="layui-table" lay-skin="line">
<thead>
<tr>
<th class="i18n-lan-name"></th>
<th class="i18n-lan-inetport"></th>
<th class="i18n-lan-ip"></th>
<th class="i18n-lan-options"></th>
</tr>
</thead>
<tbody>
<%for(var i = 0; i < data.length; i++) {%>
<tr>
<td><%:=data[i].name%></td>
<td><%:=data[i].inetPort%></td>
<td><%:=data[i].lan%></td>
<td>
<a data-index="<%:=i%>" class="layui-btn layui-btn-mini mapping-edit"></a>
<a data-index="<%:=i%>" class="layui-btn layui-btn-danger layui-btn-mini mapping-delete"></a>
</td>
</tr>
<%}%>
</tbody>
</table>
</script>
<script>
$(".tab-title").html(clientList[clientIndex].name + " - " + $.i18n.prop('lan.proxyconfig'));
$(".mapping-add").html($.i18n.prop('lan.addnewconfig'));
var html = template($("#mapping-tpl").html(), {
data : clientList[clientIndex].proxyMappings
});
$(".main-content").html(html);
$(".i18n-lan-name").html($.i18n.prop('lan.name'));
$(".i18n-lan-inetport").html($.i18n.prop('lan.inetport'));
$(".i18n-lan-ip").html($.i18n.prop('lan.ip'));
$(".i18n-lan-options").html($.i18n.prop('public.options'));
$(".mapping-edit").html($.i18n.prop('public.edit'));
$(".mapping-delete").html($.i18n.prop('public.delete'));
$(".mapping-config").click(function() {
window.clientIndex = $(this).attr("data-index");
load_page("html/lan/list.html");
});
$(".mapping-edit").click(function() {
window.mappingIndex = $(this).attr("data-index");
load_page("html/lan/edit.html");
});
$(".mapping-delete").click(function() {
var mappingIndex = $(this).attr("data-index");
layer.confirm($.i18n.prop('public.confirm.delete'), {
title: $.i18n.prop('public.tips'),
btn : [ $.i18n.prop('public.ok'), $.i18n.prop('public.cancel') ]
}, function(i) {
layer.close(i);
clientList[clientIndex].proxyMappings.splice(mappingIndex, 1);
api_invoke("/config/update", clientList, function(data) {
if (data.code != 20000) {
layer.alert(data.message);
} else {
load_page("html/lan/list.html");
}
})
});
});
$(".back").click(function() {
load_page("html/client/list.html");
});
$(".mapping-add").click(function() {
load_page("html/lan/add.html");
});
</script>