<!DOCTYPE html>
|
<html lang="en">
|
|
<head>
|
<meta charset="UTF-8">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<title>管理页面</title>
|
<link rel="stylesheet" href="./JS/layui/css/layui.css" media="all">
|
</head>
|
<script src="./JS/layui/layui.js" charset="utf-8"></script>
|
<script src="./JS/jquery.min.js" charset="utf-8"></script>
|
<style>
|
.showArea {
|
width: 500px;
|
height: 350px;
|
margin: 0 auto;
|
}
|
|
.Commonframe {
|
width: 100%;
|
height: 1000px;
|
border:0;
|
}
|
|
#dwselect {
|
height: 38px;
|
position: absolute;
|
top: 0px;
|
right: 0px;
|
width: 100px;
|
border: #ddd 1px solid;
|
}
|
|
#dwselect1 {
|
height: 38px;
|
position: absolute;
|
top: 0px;
|
right: 0px;
|
width: 100px;
|
border: #ddd 1px solid;
|
}
|
|
.layui-form select {
|
display: block !important;
|
}
|
</style>
|
|
<script type="text/html" id="toolbar">
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="add">新增</a>
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="query">查询</a>
|
|
</script>
|
<script type="text/html" id="toolbar1">
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
|
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="update">修改</a>
|
</script>
|
<script>
|
var layer = null, form;
|
layui.use('element', function () {
|
var element = layui.element;
|
});
|
|
//var servletjson = "E:/wuhao/5/zsx/zsx/zsx/src/main/resources/servlet.json";
|
var tokenjson = "/root/soft/etc/proxymanager/application.yml";
|
var ServerPath = "http://192.168.1.128:8070/manage"; //后台接口 192.168.1.128 192.168.1.128
|
var proxypath = "http://192.168.1.128:8066/"; //代理服务接口
|
var proxymangehost = "http://192.168.1.128:8070/";//后台接口host
|
// var ServerPath = "http://71.3.251.51:8067/manage";
|
// var proxypath = "http://71.3.251.51:8066";
|
// var proxymangehost = "http://71.3.251.51:8070";
|
$(function () {
|
var reslist = "./newResourcelist.html";
|
var tokenlist = "./newToken.html";
|
$("#zylist").attr("src", reslist);
|
$("#tokenlist").attr("src", tokenlist);
|
})
|
|
/*重启代理服务 */
|
function fresh() {
|
/* 调用接口获取 */
|
var servletpath = $("#appProp").val() != "" ? $("#appProp").val() :
|
tokenjson;
|
$.ajax({
|
url: ServerPath + '/getPropPropties?path=' + servletpath,
|
type: 'GET',
|
dataType: 'text',
|
success: function (data) {
|
var props = data.split("|").join("\n");
|
$("#propsText").val(props);
|
},
|
error: function (s1, s2, s3) {
|
alert("error");
|
}
|
});
|
|
}
|
|
/*更新配置文件 */
|
function updateAppProp() {
|
/* 调用接口获取 */
|
var servletpath = $("#appProp").val() != "" ? $("#appProp").val() :
|
tokenjson;
|
$.ajax({
|
url: ServerPath + '/updatePropties?path=' + servletpath,
|
type: 'POST',
|
data: {
|
content: $("#propsText").val()
|
},
|
dataType: 'text',
|
success: function (data) {
|
alert(data.message);
|
|
},
|
error: function (s1, s2, s3) {
|
alert("error");
|
}
|
});
|
|
}
|
|
layui.use(['layer', 'form'], function () {
|
|
layer = layui.layer;
|
form = layui.form;
|
});
|
var table;
|
layui.use('table', function () {
|
table = layui.table;
|
table.on('toolbar(demo)', function (obj) {
|
|
debugger
|
var checkstatus = table
|
.checkStatus(obj.config.ID);
|
switch (obj.event) {
|
case 'add':
|
addOrUpdateWindow(obj, 0);
|
break;
|
case 'query':
|
table.reload("demo", {});
|
break;
|
|
}
|
});
|
table.render({
|
elem: '#demo'
|
/* ,id:"servlettable" */
|
,
|
toolbar: "#toolbar",
|
height: 600,
|
method: 'post',
|
parseData: function (res) {
|
return {
|
"code": 0,
|
"msg": "",
|
"count": res.total,
|
"data": res.data
|
}
|
},
|
url: proxypath + 'serv/queryServlet',
|
page: true,
|
limits: [5, 10, 15],
|
limit: 5,
|
cols: [
|
[{
|
field: 'REMARK',
|
title: '服务地址'
|
},
|
{
|
field: 'URL',
|
title: '代理目的路径'
|
},
|
{
|
field: 'ENABLE',
|
title: '上线/下线',
|
templet: function (d) {
|
switch (d.ENABLE) {
|
case 0:
|
return "下线";
|
break;
|
case 1:
|
return "上线";
|
break;
|
default:
|
return "";
|
}
|
}
|
},
|
{
|
field: 'ISPUBLIC',
|
title: '是否公开',
|
templet: function (d) {
|
switch (d.ISPUBLIC) {
|
case 0:
|
return "不公开";
|
break;
|
case 1:
|
return "公开";
|
break;
|
default:
|
return "";
|
}
|
}
|
},
|
{
|
field: 'TIME',
|
title: '注册时间'
|
},
|
{
|
fixed: 'right',
|
title: '操作',
|
toolbar: '#toolbar1',
|
width: 200
|
}
|
]
|
]
|
});
|
|
|
table.on('tool(demo)', function (obj) {
|
debugger;
|
var checkstatus = table
|
.checkStatus(obj.data.ID);
|
switch (obj.event) {
|
case 'del':
|
del(obj.data.ID);
|
break;
|
case 'update':
|
addOrUpdateWindow(obj, 1);
|
break;
|
}
|
;
|
});
|
});
|
|
function addOrUpdateWindow(obj, opstype) {
|
var divcontent =
|
`<div style="margin:20px auto; width:90%;height:80%">
|
<div class="layui-form-item">
|
<label class="layui-form-label">代理路径</label>
|
<div class="layui-input-block">
|
<input type="text" id="servletremark" class="layui-input"/> </div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label">服务路径</label>
|
<div class="layui-input-block">
|
<input type="text" id="servleturl" class="layui-input"/>
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label">上下线</label>
|
<div class="layui-input-block">
|
<input type="radio" checked="true" name="servletenable" value="1" title="上线" /> 上线
|
<input type="radio" name="servletenable" value="0" title="下线" /> 下线 </div> </div> <div class="layui-form-item">
|
<label class="layui-form-label">是否公开</label>
|
<div class="layui-input-block">
|
<input type="radio" checked="true" name="servletispublic" value="1" title="是" />是
|
<input type="radio" name="servletispublic" value="0" title="否" />否 </div></div> </div>`;
|
|
layer.open({
|
type: 1,
|
offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset
|
,
|
id: 'layerDemo' + 'auto' //防止重复弹出
|
,
|
area: ['1000px', '500px'],
|
content: divcontent,
|
btn: ['提交', '退出'],
|
btnAlign: 'c' //按钮居中
|
,
|
shade: 0 //不显示遮罩
|
,
|
yes: function () {
|
if (opstype == 0) {
|
add();
|
} else {
|
update(obj);
|
}
|
|
|
layer.closeAll();
|
},
|
cancel: function () {
|
layer.closeAll();
|
return false;
|
}
|
});
|
//$("#servleturl").val(obj.data.URL);
|
if (obj.data.ENABLE == 1) {
|
$("input[name='servletenable']:eq(0)").attr('checked', true)
|
} else {
|
$("input[name='servletenable']:eq(1)").attr('checked', true)
|
}
|
|
$("#servletremark").val(obj.data.REMARK);
|
$("#servleturl").val(obj.data.URL);
|
if (obj.data.ISPUBLIC == 1) {
|
$("input[name='servletispublic']:eq(0)").attr('checked', true)
|
} else {
|
$("input[name='servletispublic']:eq(1)").attr('checked', true)
|
}
|
|
}
|
|
function del(key) {
|
|
$.ajax({
|
url: proxypath + 'serv/delServlet',
|
type: 'post',
|
data: {
|
id: key
|
},
|
dataType: 'text',
|
success: function (data) {
|
alert("删除成功");
|
table.reload('demo', {
|
page: {
|
curr: 1
|
}
|
}, 'data')
|
},
|
error: function (s1, s2, s3) {
|
alert("删除失败");
|
}
|
});
|
|
}
|
|
function update(obj) {
|
|
|
$.ajax({
|
url: proxypath + 'serv/updateServlet',
|
type: 'post',
|
data: {
|
id: obj.data.ID,
|
url: $("#servleturl").val(),
|
enable: $("input[name='servletenable']:checked").val(),
|
remark: $("#servletremark").val(),
|
ispublic: $('input[name="servletispublic"]:checked').val()
|
},
|
dataType: 'text',
|
success: function (data) {
|
if (data == "success") {
|
alert("删除成功");
|
}
|
table.reload('demo', {
|
page: {
|
curr: 1
|
}
|
}, 'data')
|
},
|
error: function (s1, s2, s3) {
|
alert("error");
|
}
|
});
|
|
}
|
|
|
function add() {
|
$.ajax({
|
url: proxypath + 'serv/addServlet',
|
type: 'post',
|
data: {
|
url: $("#servleturl").val(),
|
enable: $("input[name='servletenable']:checked").val(),
|
remark: $("#servletremark").val(),
|
ispublic: $('input[name="servletispublic"]:checked').val()
|
},
|
dataType: 'text',
|
success: function (data) {
|
if (data == "success") {
|
alert("新增成功");
|
}
|
table.reload('demo', {
|
page: {
|
curr: 1
|
}
|
}, 'data')
|
},
|
error: function (s1, s2, s3) {
|
alert("error");
|
}
|
});
|
|
}
|
|
function exe4cmd() {
|
$.ajax({
|
url: ServerPath + '/exe4cmd?cmd=' + encodeURIComponent($("#cmdCommand").val()),
|
type: 'get',
|
data: {
|
content: $("#propsText").val()
|
},
|
dataType: 'text',
|
success: function (data) {
|
$("#output").val(data);
|
},
|
error: function (s1, s2, s3) {
|
alert("error");
|
}
|
});
|
|
}
|
|
function tablefresh() {
|
table.reload("demo", {});
|
}
|
|
/* function updateServlet(){
|
var servletpath = $("#servletjson").val() != "" ? $("#servletjson").val()
|
: servletjson;
|
var content=layui.table.cache["servlettable"];
|
var totalcontent=[];
|
for(var i=0;i<content.length;i++){
|
var temp={};
|
var initparam={};
|
temp.servletclass=content[i].servletclass;
|
temp.serverurl=content[i].serverurl;
|
temp.initparam=content[i].initparam;
|
totalcontent.push(temp);
|
}
|
|
$.ajax({
|
url : ServerPath + "/updatePropties?path=" + servletpath,
|
type : "POST",
|
contentType: "application/json;charset=utf-8",
|
dataType:"text",
|
data: JSON.stringify(totalcontent),
|
success : function(data) {
|
alert(data.message);
|
},
|
error : function(s1, s2, s3) {
|
alert("error");
|
}
|
});
|
}
|
*/
|
/*
|
修改
|
*/
|
function updateTokenTime(Extendedtokens, Extendedtokenstime) {
|
$.ajax({
|
url: proxypath + 'token/tokenTimeExtend?tokenlist=' + Extendedtokens + '&expireSeconds=' +
|
Extendedtokenstime,
|
type: 'post',
|
dataType: 'text',
|
success: function (data) {
|
if (data == "ok") {
|
alert("续期成功");
|
}
|
|
},
|
error: function (s1, s2, s3) {
|
alert("error");
|
}
|
});
|
}
|
|
|
function getToken(resourceid, expiration, identyinfo) {
|
$.ajax({
|
url: proxypath + 'serverRegister/genToken?userid=servdl&password=servdl123' + '&resourceid=' +
|
resourceid + '&expiration=' + expiration + '&identyinfo=' + identyinfo,
|
type: 'get',
|
contentType: "application/json;charset=utf-8",
|
success: function (data) {
|
var result = JSON.parse(data);
|
alert("成功获取token:" + result.data);
|
$("#temptoken").val(result.data)
|
},
|
error: function (s1, s2, s3) {
|
alert("error");
|
}
|
});
|
}
|
|
|
function showWindow(divcontent) {
|
layer.open({
|
type: 1,
|
offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset
|
,
|
id: 'layerDemo' + 'auto' //防止重复弹出
|
,
|
area: ['1000px', '500px'],
|
content: divcontent,
|
btn: ['提交', '退出'],
|
btnAlign: 'c' //按钮居中
|
,
|
shade: 0 //不显示遮罩
|
,
|
yes: function () {
|
var Extendedtokenstime = timeswitch($("#dwselect").find('option:selected').val(), $("#Extendedtokenstime").val());
|
var Extendedtokens = $("#Extendedtokens").val();
|
|
updateTokenTime(Extendedtokens, Extendedtokenstime);
|
|
layer.closeAll();
|
},
|
cancel: function () {
|
layer.closeAll();
|
return false;
|
}
|
});
|
}
|
|
|
function showTokenGetWindow(divcontent) {
|
layer.open({
|
type: 1,
|
offset: 'auto' //具体配置参考:http://www.layui.com/doc/modules/layer.html#offset
|
,
|
id: 'layerDemo' + 'auto' //防止重复弹出
|
,
|
area: ['1000px', '500px'],
|
content: divcontent,
|
btn: ['提交', '退出'],
|
btnAlign: 'c' //按钮居中
|
,
|
shade: 0 //不显示遮罩
|
,
|
yes: function () {
|
var resourceid = $("#resourceid").val();
|
var expiration = timeswitch($("#dwselect1").find('option:selected').val(), $("#tokenexpiration").val());
|
var identyinfo = $("#identyinfo").val();
|
debugger;
|
getToken(resourceid, expiration, identyinfo);
|
|
layer.closeAll();
|
},
|
cancel: function () {
|
layer.closeAll();
|
return false;
|
}
|
});
|
}
|
|
function timeswitch(dw, num) {
|
switch (dw) {
|
case "0":
|
return num;
|
break;
|
case "1":
|
return num * 60;
|
break;
|
case "2":
|
return num * 3600;
|
break;
|
case "3":
|
return num * 86400;
|
break;
|
case "4":
|
return num * 30 * 86400;
|
break;
|
|
}
|
}
|
|
$(document).ready(function () {
|
$('#tokenExtend').on("click", function () {
|
var divcontent = `<div style="margin:0 auto; width:90%;height:80%">
|
<div class="layui-form-item">
|
<label class="layui-form-label">续期token</label>
|
<div class="layui-input-block">
|
<textarea id="Extendedtokens" class="layui-textarea" placeholder="批量续期token,请以 ; 符号隔开 例:token1;token2"
|
style="height: 300px"
|
"></textarea>
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label">延长时间</label>
|
<div class="layui-input-block">
|
<input type="text" id="Extendedtokenstime" class="layui-input"
|
placeholder="输入延长时间(默认24小时)">
|
<div class="layui-form" >
|
<select name="dw" id="dwselect" >
|
<option value="0">秒</option>
|
<option value="1">分</option>
|
<option value="2" >时</option>
|
<option value="3" selected="selected">天</option>
|
<option value="4">月</option>
|
</select>
|
</div>
|
</div>
|
</div>
|
</div>`;
|
|
// var divcontent=`<input type="text">`
|
showWindow(divcontent);
|
})
|
$("#openTokenLists").on("click", function () {
|
|
window.open("./tokenlist.html")
|
});
|
|
$('#getTempToken').on("click", function () {
|
var divcontent = `<div style="margin:20px auto; width:90%;height:80%">
|
<div class="layui-form-item">
|
<label class="layui-form-label">资源id</label>
|
<div class="layui-input-block">
|
<input id="resourceid" class="layui-input" >
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label">持续时间(单位:小时)</label>
|
<div class="layui-input-block">
|
<input type="text" id="tokenexpiration" class="layui-input">
|
<div class="layui-form" >
|
<select name="dw" id="dwselect1" >
|
<option value="0">秒</option>
|
<option value="1">分</option>
|
<option value="2">时</option>
|
<option value="3">天</option>
|
<option value="4">月</option>
|
</select>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label">token备注</label>
|
<div class="layui-input-block">
|
<input type="text" id="identyinfo" class="layui-input">
|
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label">生成结果</label>
|
<div class="layui-input-block">
|
<textarea id="token" class="layui-textarea"
|
style="height: 100px"
|
"></textarea>
|
</div>
|
</div>
|
</div>`;
|
debugger;
|
showTokenGetWindow(divcontent);
|
})
|
})
|
|
|
</script>
|
<!-- <script type="text/html" id="servletSelect">
|
<select name="servletSelect" lay-filter="servletSelect" id="servletSelect" data-value{{d.servletclass}}>
|
|
</select>
|
</script> -->
|
|
|
<body>
|
<div class="layui-tab layui-tab-brief" lay-filter="opstab">
|
<ul class="layui-tab-title">
|
<li class="layui-this" >服务列表</li>
|
<li >token管理</li>
|
<!-- <li>服务配置</li>-->
|
<!-- <li>控制台工具</li> -->
|
|
</ul>
|
<div class="layui-tab-content">
|
<div class="layui-tab-item layui-show ">
|
<iframe id="zylist" class="Commonframe" src="" ></iframe>
|
</div>
|
<div class="layui-tab-item ">
|
|
<!-- <div class="layui-form-item">
|
<label class="layui-form-label">配置文件位置</label>
|
<div class="layui-input-block">
|
<input type="text" id="appProp" class="layui-input"
|
placeholder="输入配置文件位置默认为空">
|
</div>
|
</div> -->
|
<!-- <div class="layui-form-item">
|
<p class="layui-form-label">
|
配置信息</label>
|
<div class="layui-input-block">
|
<textarea id="propsText" class="layui-textarea"
|
style="height: 300px">
|
</textarea>
|
</div>
|
</div> -->
|
|
<div class="layui-form-item">
|
<!-- <label class="layui-form-label">可用操作:</label>-->
|
<!-- <div class="layui-input-block">-->
|
<!-- <button class="layui-btn layui-btn-normal" id="updateProp" onclick="updateAppProp()">更新配置文件</button>
|
<button class="layui-btn layui-btn-normal" id="reload" onclick="fresh()">刷新</button>
|
<button class="layui-btn layui-btn-normal" id="restart" >重启代理服务</button> -->
|
<!-- <div>-->
|
<!-- <button class="layui-btn layui-btn-normal" id="tokenExtend">token续租</button>-->
|
<!-- </div>-->
|
|
<!-- <button class="layui-btn layui-btn-normal" id="getTempToken">token申请</button> -->
|
<!-- <button class="layui-btn layui-btn-normal" id="openTokenLists">打开token列表</button>-->
|
<div>
|
<iframe id="tokenlist" class="Commonframe" src=""></iframe>
|
</div>
|
|
|
<!-- </div>-->
|
</div>
|
|
|
</div>
|
<!-- <div class="layui-tab-item">-->
|
<!-- <!– <div class="layui-form-item">-->
|
<!-- <label class="layui-form-label">servlet路径</label>-->
|
<!-- <div class="layui-input-block">-->
|
<!-- <input type="text" id="servletjson" name="servletjson" class="layui-input"-->
|
<!-- placeholder="输入配置文件位置默认为空">-->
|
|
<!-- </div>-->
|
<!-- </div> –>-->
|
<!-- <div class="layui-form-item">-->
|
<!-- <label class="layui-form-label">代理路径配置</label>-->
|
<!-- <div class="layui-input-block">-->
|
|
<!-- <table id="demo" lay-filter="demo"></table>-->
|
<!-- </div>-->
|
<!-- </div>-->
|
<!-- <!– <div class="layui-form-item">-->
|
<!-- <label class="layui-form-label">可用操作</label>-->
|
<!-- <div class="layui-input-block">-->
|
<!-- <button class="layui-btn layui-btn-normal" id="servletreload" onclick="tablefresh()">刷新</button>-->
|
<!-- <button class="layui-btn layui-btn-normal" class="restart" >重启代理服务</button>-->
|
<!-- </div>-->
|
<!-- </div> –>-->
|
<!-- </div>-->
|
<!-- <div class="layui-tab-item">
|
<div class="layui-form-item">
|
<label class="layui-form-label">操作结果</label>
|
<div class="layui-input-block">
|
<textarea id="output" class="layui-textarea"
|
style="height: 300px">
|
</textarea>
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label">cmd命令</label>
|
<div class="layui-input-block">
|
<input type="text" id="cmdCommand" class="layui-input"
|
placeholder="cmd命令">
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label">操作</label>
|
<div class="layui-input-block">
|
|
<button class="layui-btn layui-btn-normal" onclick="exe4cmd()">执行</button>
|
</div>
|
</div>
|
</div> -->
|
|
|
|
|
|
</div>
|
</div>
|
<div>
|
</div>
|
</body>
|
|
</html>
|