update
This commit is contained in:
parent
dfdeef8f4c
commit
67abcc17c5
|
|
@ -459,11 +459,11 @@ function showHidePass(obj){
|
|||
function copyPass(password){
|
||||
var clipboard = new ClipboardJS('#bt_copys');
|
||||
clipboard.on('success', function (e) {
|
||||
layer.msg({msg:'复制成功',icon:1});
|
||||
layer.msg('复制成功',{icon:1,time:2000});
|
||||
});
|
||||
|
||||
clipboard.on('error', function (e) {
|
||||
layer.msg({msg:'复制失败,浏览器不兼容!',icon:2});
|
||||
layer.msg('复制失败,浏览器不兼容!',{icon:2,time:2000});
|
||||
});
|
||||
$("#bt_copys").attr('data-clipboard-text',password);
|
||||
$("#bt_copys").click();
|
||||
|
|
@ -912,9 +912,9 @@ function myLogs(){
|
|||
var rdata = $.parseJSON(data.data);
|
||||
|
||||
var limitCon = '<p class="conf_p">\
|
||||
<span class="f14 c6 mr20">'+ lan.soft.mysql_log_bin + ' </span><span class="f14 c6 mr20">' + toSize(rdata.msg) + '</span>\
|
||||
<span class="f14 c6 mr20">二进制日志 </span><span class="f14 c6 mr20">' + toSize(rdata.msg) + '</span>\
|
||||
<button class="btn btn-success btn-xs btn-bin va0">'+ (rdata.status ? lan.soft.off : lan.soft.on) + '</button>\
|
||||
<p class="f14 c6 mtb10" style="border-top:#ddd 1px solid; padding:10px 0">'+ lan.soft.mysql_log_err + '<button class="btn btn-default btn-clear btn-xs" style="float:right;" >' + lan.soft.mysql_log_close + '</button></p>\
|
||||
<p class="f14 c6 mtb10" style="border-top:#ddd 1px solid; padding:10px 0">错误日志<button class="btn btn-default btn-clear btn-xs" style="float:right;" >清空</button></p>\
|
||||
<textarea readonly style="margin: 0px;width: 100%;height: 440px;background-color: #333;color:#fff; padding:0 5px" id="error_log"></textarea>\
|
||||
</p>'
|
||||
$(".soft-man-con").html(limitCon);
|
||||
|
|
|
|||
|
|
@ -236,14 +236,39 @@ def pQbClient():
|
|||
|
||||
|
||||
def qbList():
|
||||
args = getArgs()
|
||||
# data = checkArgs(args, ['type'])
|
||||
# if not data[0]:
|
||||
# return data[1]
|
||||
args_type = ''
|
||||
if 'type' in args:
|
||||
args_type = args['type']
|
||||
|
||||
f = ['downloading', 'completed']
|
||||
tfilter = ''
|
||||
if args_type in f:
|
||||
tfilter = args['type']
|
||||
try:
|
||||
qb = pQbClient()
|
||||
torrents = qb.torrents()
|
||||
return public.returnJson(True, 'ok', torrents)
|
||||
torrents = qb.torrents(filter=tfilter)
|
||||
data = {}
|
||||
data['type'] = tfilter
|
||||
data['torrents'] = torrents
|
||||
return public.returnJson(True, 'ok', data)
|
||||
except Exception as e:
|
||||
return public.returnJson(False, str(e))
|
||||
|
||||
|
||||
def qbDel():
|
||||
args = getArgs()
|
||||
data = checkArgs(args, ['hash'])
|
||||
if not data[0]:
|
||||
return data[1]
|
||||
qb = pQbClient()
|
||||
data = qb.delete(args['hash'])
|
||||
return public.returnJson(True, '操作成功!', data)
|
||||
|
||||
|
||||
def test():
|
||||
qb = pQbClient()
|
||||
# magnet_link = "magnet:?xt=urn:btih:57a0ec92a61c60585f1b7a206a75798aa69285a5"
|
||||
|
|
@ -278,6 +303,8 @@ if __name__ == "__main__":
|
|||
print getRunLog()
|
||||
elif func == 'qb_list':
|
||||
print qbList()
|
||||
elif func == 'qb_del':
|
||||
print qbDel()
|
||||
elif func == 'test':
|
||||
print test()
|
||||
else:
|
||||
|
|
|
|||
|
|
@ -30,55 +30,115 @@ function qbPost(method, args, callback){
|
|||
});
|
||||
}
|
||||
|
||||
function qbList(page,search){
|
||||
var _data = {};
|
||||
if (typeof(page) =='undefined'){
|
||||
var page = 1;
|
||||
}
|
||||
function showHideHash(obj){
|
||||
var a = "glyphicon-eye-open";
|
||||
var b = "glyphicon-eye-close";
|
||||
|
||||
_data['page'] = page;
|
||||
_data['page_size'] = 10;
|
||||
if($(obj).hasClass(a)){
|
||||
$(obj).removeClass(a).addClass(b);
|
||||
$(obj).prev().text($(obj).prev().attr('data-pw'))
|
||||
} else{
|
||||
$(obj).removeClass(b).addClass(a);
|
||||
$(obj).prev().text($(obj).attr('data-pw'));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function copyText(password){
|
||||
var clipboard = new ClipboardJS('#bt_copys');
|
||||
clipboard.on('success', function (e) {
|
||||
layer.msg('复制成功',{icon:1,time:2000});
|
||||
});
|
||||
|
||||
clipboard.on('error', function (e) {
|
||||
layer.msg('复制失败,浏览器不兼容!',{icon:2,time:2000});
|
||||
});
|
||||
$("#bt_copys").attr('data-clipboard-text',password);
|
||||
$("#bt_copys").click();
|
||||
}
|
||||
|
||||
function getLocalTime(nS) {
|
||||
return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' ');
|
||||
}
|
||||
|
||||
|
||||
function qbAdd(type){
|
||||
|
||||
}
|
||||
|
||||
|
||||
function qbDel(hash){
|
||||
qbPost('qb_del', {hash:hash}, function(data){
|
||||
var rdata = $.parseJSON(data.data);
|
||||
if (rdata['status']){
|
||||
layer.msg(rdata.msg,{icon:1,time:2000,shade: [0.3, '#000']});
|
||||
} else {
|
||||
layer.msg(rdata.msg,{icon:2,time:2000,shade: [0.3, '#000']});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function qbListFind(){
|
||||
var qbs = $('#qb_selected').val();
|
||||
if ( qbs == '0' ){
|
||||
qbList();
|
||||
} else {
|
||||
qbList(qbs);
|
||||
}
|
||||
}
|
||||
|
||||
function qbList(search){
|
||||
var _data = {};
|
||||
_data['test'] ='yes';
|
||||
if(typeof(search) != 'undefined'){
|
||||
_data['search'] = search;
|
||||
_data['type'] = search;
|
||||
}
|
||||
|
||||
qbPost('qb_list', _data, function(data){
|
||||
|
||||
|
||||
var rdata = $.parseJSON(data.data);
|
||||
if (!rdata['status']){
|
||||
layer.msg(rdata.msg,{icon:0,time:2000,shade: [0.3, '#000']});
|
||||
return;
|
||||
}
|
||||
console.log(rdata);
|
||||
content = '';
|
||||
// content += '<button class="btn btn-success btn-sm" onclick="csvnUserFind();">查找</button></div>';
|
||||
|
||||
content = '<select id="qb_selected" class="bt-input-text mr20" style="width:30%;margin-bottom: 3px;">'+
|
||||
'<option value="0">所有</option>' +
|
||||
'<option value="completed">已下载</option>' +
|
||||
'<option value="downloading">下载中</option>' +
|
||||
'</select>';
|
||||
content += '<button class="btn btn-success btn-sm" onclick="qbListFind();">查找</button></div>';
|
||||
|
||||
content += '<div class="divtable" style="margin-top:5px;"><table class="table table-hover" width="100%" cellspacing="0" cellpadding="0" border="0">';
|
||||
content += '<thead><tr>';
|
||||
content += '<th>种子(hash)</th>';
|
||||
content += '<th>状态</th>';
|
||||
content += '<th>操作(<a class="btlink" onclick="csvnAddUser();">添加</a> | <a class="btlink" onclick="">管理</a>)</th>';
|
||||
content += '<th>添加时间</th>';
|
||||
content += '<th>操作(<a class="btlink" onclick="qbAdd();">添加</a> | <a class="btlink" onclick="">管理</a>)</th>';
|
||||
content += '</tr></thead>';
|
||||
|
||||
content += '<tbody>';
|
||||
|
||||
ulist = rdata.data;
|
||||
ulist = rdata.data.torrents;
|
||||
for (i in ulist){
|
||||
content += '<tr><td>'+ulist[i]['hash']+'</td>'+
|
||||
'<td>'+'下载中'+'</td>'+
|
||||
'<td><a class="btlink" onclick="csvnDelUser(\''+ulist[i]+'\')">删除</a></td></tr>';
|
||||
content += '<tr><td>'+
|
||||
'<span class="password" data-pw="'+ulist[i]['hash']+'">'+ulist[i]['hash'].substr(0,3)+'</span>' +
|
||||
'<span onclick="showHideHash(this)" data-pw="'+ulist[i]['hash'].substr(0,3)+'" class="glyphicon glyphicon-eye-open cursor pw-ico" style="margin-left:10px"></span>'+
|
||||
'<span class="ico-copy cursor btcopy" style="margin-left:10px" title="复制种子hash" onclick="copyText(\''+ulist[i]['hash']+'\')"></span>'+
|
||||
'</td>'+
|
||||
'<td>'+getLocalTime(ulist[i]['added_on'])+'</td>'+
|
||||
'<td><a class="btlink" onclick="qbDel(\''+ulist[i]['hash']+'\')">删除</a></td></tr>';
|
||||
}
|
||||
|
||||
content += '</tbody>';
|
||||
content += '</table></div>';
|
||||
|
||||
// page = '<div class="dataTables_paginate paging_bootstrap pagination" style="margin-top:0px;"><ul id="softPage" class="page"><div>';
|
||||
// page += rdata.list;
|
||||
// page += '</div></ul></div>';
|
||||
|
||||
// content += page;
|
||||
|
||||
$(".soft-man-con").html(content);
|
||||
|
||||
var type = rdata.data.type;
|
||||
if (type == ''){
|
||||
$("#qb_selected option[value='0']").attr("selected", true);
|
||||
} else {
|
||||
$("#qb_selected option[value='"+type+"']").attr("selected", true);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,9 @@ function toSizeM(byteLen) {
|
|||
return a || 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function randomStrPwd(b) {
|
||||
b = b || 32;
|
||||
var c = "AaBbCcDdEeFfGHhiJjKkLMmNnPpRSrTsWtXwYxZyz2345678";
|
||||
|
|
@ -345,36 +348,8 @@ function aotuHeight() {
|
|||
var a = $("body").height() - 40;
|
||||
$(".main-content").css("min-height", a)
|
||||
}
|
||||
$(function() {
|
||||
aotuHeight()
|
||||
});
|
||||
$(window).resize(function() {
|
||||
aotuHeight()
|
||||
});
|
||||
|
||||
function showHidePwd() {
|
||||
var a = "glyphicon-eye-open",
|
||||
b = "glyphicon-eye-close";
|
||||
$(".pw-ico").click(function() {
|
||||
var g = $(this).attr("class"),
|
||||
e = $(this).prev();
|
||||
if(g.indexOf(a) > 0) {
|
||||
var h = e.attr("data-pw");
|
||||
$(this).removeClass(a).addClass(b);
|
||||
e.text(h)
|
||||
} else {
|
||||
$(this).removeClass(b).addClass(a);
|
||||
e.text("**********")
|
||||
}
|
||||
var d = $(this).next().position().left;
|
||||
var f = $(this).next().position().top;
|
||||
var c = $(this).next().width();
|
||||
$(this).next().next().css({
|
||||
left: d + c + "px",
|
||||
top: f + "px"
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function showMsg(msg, callback ,icon, time){
|
||||
|
||||
|
|
@ -700,7 +675,7 @@ function ActionTask() {
|
|||
})
|
||||
}
|
||||
|
||||
function RemoveTask(b) {
|
||||
function removeTask(b) {
|
||||
var a = layer.msg(lan.public.the_del, {
|
||||
icon: 16,
|
||||
time: 0,
|
||||
|
|
@ -1590,4 +1565,12 @@ function pluginLogs(_name, version, func, line){
|
|||
},'json');
|
||||
},'json');
|
||||
}
|
||||
/*** 其中功能,针对插件通过库使用 end ***/
|
||||
/*** 其中功能,针对插件通过库使用 end ***/
|
||||
|
||||
|
||||
$(function() {
|
||||
aotuHeight();
|
||||
});
|
||||
$(window).resize(function() {
|
||||
aotuHeight();
|
||||
});
|
||||
Loading…
Reference in New Issue