You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
197 lines
5.9 KiB
197 lines
5.9 KiB
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<title>UPSYS console</title>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel="stylesheet" href="/static/static/css/bootstrap.css">
|
|
<link rel="icon" type="image/x-icon" href="/favicon.ico?v=2">
|
|
<script type="text/javascript" src="/static/static/js/jquery.min.js"></script>
|
|
<script type="text/javascript" src="/static/static/js/bootstrap.min.js"></script>
|
|
<style>
|
|
.list-group>.list-group-item {
|
|
padding: 20px;
|
|
}
|
|
|
|
.optzone {
|
|
height: 60px;
|
|
}
|
|
.stabox{
|
|
height: 260px;
|
|
overflow:scroll;
|
|
}
|
|
|
|
.flist{
|
|
height:360px;
|
|
overflow:auto;
|
|
}
|
|
|
|
.icon {
|
|
display: inline-block;
|
|
width: 24px;
|
|
height: 24px;
|
|
}
|
|
|
|
.icon:hover{
|
|
cursor: pointer;
|
|
background-color: #4598F0;
|
|
}
|
|
|
|
.folder-icon {
|
|
mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyAgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pZFlNaWQgbWVldCcgIHZpZXdCb3g9IjAgMCAyNCAyNCIgPjxwYXRoIGQ9Ik0xMCA0SDRDMi45IDQgMiA0LjkgMiA2VjE4QzIgMTkuMSAyLjkgMjAgNCAyMEgyMEMyMS4xIDIwIDIyIDE5LjEgMjIgMThWOEMyMiA2LjkgMjEuMSA2IDIwIDZIMTJMMTAgNFoiIC8+PC9zdmc+");
|
|
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyAgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pZFlNaWQgbWVldCcgIHZpZXdCb3g9IjAgMCAyNCAyNCIgPjxwYXRoIGQ9Ik0xMCA0SDRDMi45IDQgMiA0LjkgMiA2VjE4QzIgMTkuMSAyLjkgMjAgNCAyMEgyMEMyMS4xIDIwIDIyIDE5LjEgMjIgMThWOEMyMiA2LjkgMjEuMSA2IDIwIDZIMTJMMTAgNFoiIC8+PC9zdmc+");
|
|
background-color: #c1972e;
|
|
|
|
}
|
|
.file-icon {
|
|
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHhtbG5zOnhsaW5rPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJyAgcHJlc2VydmVBc3BlY3RSYXRpbz0neE1pZFlNaWQgbWVldCcgIHZpZXdCb3g9IjAgMCAyNCAyNCIgPjxwYXRoIGQ9Ik0xNCAySDZDNC45IDIgNCAyLjkgNCA0VjIwQzQgMjEuMSA0LjkgMjIgNiAyMkgxOEMxOS4xIDIyIDIwIDIxLjEgMjAgMjBWOEwxNCAyTTEzIDlWMy41TDE4LjUgOUgxM1oiIC8+IDwvc3ZnPg==");
|
|
background-repeat: no-repeat;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div class="jumbotron">
|
|
<div class="container">
|
|
<p>文件更新控制台</p>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 输入服务器ip -->
|
|
<div class="container">
|
|
<div class="col-md-12 no-padding">
|
|
<div class="form-group col-md-10">
|
|
<div class="input-group">
|
|
<div class="input-group-addon">服务器ip</div>
|
|
<input type="text" class="form-control" name="sip" id="scip" placeholder="eg:192.168.66.99">
|
|
</div>
|
|
</div>
|
|
<div class="form-group col-md-2">
|
|
<button type="button" id="entsip" class="btn btn-primary">Transfer</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<!-- 罗列文件的列表信息 -->
|
|
<div class="container">
|
|
<!-- 源服务器 -->
|
|
<div class="col-md-6">
|
|
<div class="panel panel-default">
|
|
<!-- Default panel contents -->
|
|
<div class="panel-heading">源站({{.Loip}})</div>
|
|
<div class="panel-body">
|
|
<p>监听目录:{{.Rundir}}</p>
|
|
<p>相对目录: {{.DownloadPath}}</p>
|
|
<p>
|
|
<a href="./console" class="btn btn-primary btn-sm">home</a>
|
|
<a href="?p={{b64en $.Relpath}}&f=&file=1" class="btn btn-success btn-sm">返回上层</a>
|
|
</p>
|
|
</div>
|
|
|
|
<!-- List group -->
|
|
<ul class="list-group">
|
|
{{ range .Files }}
|
|
<li class="list-group-item optzone">
|
|
<div class="col-md-8">
|
|
|
|
{{ if .IsDir }}
|
|
|
|
<span class="icon folder-icon"></span>
|
|
<a href="?p={{b64en $.UrlPath}}&f={{b64en .Name }}&file=0">{{ .Name }}</a>
|
|
{{ else }}
|
|
<span class="icon file-icon"></span>
|
|
<a href="?p={{b64en $.UrlPath}}&f={{b64en .Name}}&file=1">{{ .Name }}</a>
|
|
|
|
{{ end }}
|
|
|
|
</div>
|
|
<div class="col-md-4">
|
|
{{ if .IsDir }} <!-- 空白 --> {{else}}
|
|
<a href="/up?p={{b64en $.UrlPath}}&f={{b64en .Name}}&s={{b64en $.Loip}}" title="更新{{ .Name }}" class="btn btn-primary btn-sm">同步</a>
|
|
{{end}}
|
|
</div>
|
|
</li>
|
|
{{ end }}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 目标服务器 -->
|
|
<div class="col-md-6">
|
|
<div class="panel panel-default">
|
|
<!-- Default panel contents -->
|
|
<div class="panel-heading" id="mbip">目标站</div>
|
|
<div class="panel-body">
|
|
<p>监听目录:<span id="sc01"></span></p>
|
|
<p>相对目录: <span id="sc02"></span> </p>
|
|
</div>
|
|
|
|
<!-- List group -->
|
|
<ul class="list-group" id="tgsc">
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 状态信息 -->
|
|
<div class="container">
|
|
<div class="col-md-12">
|
|
<div class="panel">
|
|
<div class="panel-heading">运行状态</div>
|
|
<div class="panel-body" >
|
|
<ul class="list-group flist" id="rstatus"></ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
$(function(){
|
|
// click function
|
|
$("#entsip").on("click",function(){
|
|
//
|
|
var sip = $("#scip").val();
|
|
var html = "<li class=\"list-group-item\">输入目标服务器"+sip+"</li>";
|
|
// 目标站
|
|
$("#mbip").text("目标站("+sip+")");
|
|
// 获取信息
|
|
gescinfo(sip)
|
|
//
|
|
$("#rstatus").append(html)
|
|
})
|
|
|
|
// 获取目标服务器的信息
|
|
var gescinfo=function(scip){
|
|
var url="http://"+scip+":9099/sc?callback"
|
|
var html="";
|
|
$.getJSON(url,function(res){
|
|
// res.curdir
|
|
$.each(res.data.list,function(k,v){
|
|
html+="<li class=\"list-group-item optzone\"><div class=\"col-md-8\">";
|
|
if(v.dirflag){
|
|
html +="<span class=\"icon folder-icon\"></span>"+v.fname;
|
|
}else{
|
|
html +="<span class=\"icon file-icon\"></span>"+v.fname;
|
|
}
|
|
html+="</div><div class=\"col-md-4\"><a href=\"#\" class=\"btn btn-primary btn-sm\">同步</a></div></li>";
|
|
})
|
|
// append to html
|
|
$("#tgsc").html(html)
|
|
writelog(scip+"获取数据:"+res.data.list.length+"条数据" )
|
|
$("#sc01").text(res.curdir);
|
|
});
|
|
}
|
|
|
|
// write log
|
|
var writelog=function(html){
|
|
var hprex="<li class=\"list-group-item\">"+html+"</li>";
|
|
$("#rstatus").append(hprex)
|
|
}
|
|
|
|
});
|
|
</script>
|
|
</body>
|
|
|
|
</html>
|