This commit is contained in:
Mr Chen
2024-12-01 16:32:05 +08:00
parent cb794a946a
commit 5b0e8ad2da
4 changed files with 86 additions and 21 deletions
+1
View File
@@ -19,4 +19,5 @@ from .notify_tgbot import *
from .app import *
from .panel_ssl import *
from .panel_bookmark import *
+69
View File
@@ -0,0 +1,69 @@
# coding:utf-8
# ---------------------------------------------------------------------------------
# MW-Linux面板
# ---------------------------------------------------------------------------------
# copyright (c) 2018-∞(https://github.com/midoks/mdserver-web) All rights reserved.
# ---------------------------------------------------------------------------------
# Author: midoks <midoks@163.com>
# ---------------------------------------------------------------------------------
import re
import json
import os
import time
from flask import Blueprint, render_template
from flask import request
from admin import session
from admin.user_login_check import panel_login_required
import core.mw as mw
import utils.config as utils_config
from utils.setting import setting as MwSetting
from .setting import blueprint
import thisdb
# 添加面板书签
@blueprint.route('/add_panel_info', endpoint='add_panel_info', methods=['POST'])
@panel_login_required
def add_panel_info():
title = request.form.get('title', '')
url = request.form.get('url', '')
username = request.form.get('username', '')
password = request.form.get('password', '')
# 校验是还是重复
isAdd = mw.M('panel').where('title=? OR url=?', (title, url)).count()
if isAdd:
return mw.returnData(False, '备注或面板地址重复!')
isRe = mw.M('panel').add('title,url,username,password,click,add_time',
(title, url, username, password, 0, int(time.time())))
if isRe:
return mw.returnData(True, '添加成功!')
return mw.returnData(False, '添加失败!')
# 取面板书签列表
@blueprint.route('/get_panel_list', endpoint='get_panel_list', methods=['GET','POST'])
@panel_login_required
def get_panel_list():
data = mw.M('panel').field('id,title,url,username,password,click,add_time').order('click desc').select()
return data
# 删除面板书签
@blueprint.route('/del_panel_info', endpoint='del_panel_info', methods=['GET','POST'])
@panel_login_required
def del_panel_info():
panel_id = request.form.get('id', '')
isExists = mw.M('panel').where('id=?', (panel_id,)).count()
if not isExists:
return mw.returnData(False, '指定面板资料不存在!')
mw.M('panel').where('id=?', (panel_id,)).delete()
return mw.returnData(True, '删除成功!')
-6
View File
@@ -32,12 +32,6 @@ def index():
name = thisdb.getOption('template', default='default')
return render_template('%s/setting.html' % name)
@blueprint.route('/get_panel_list', endpoint='get_panel_list', methods=['POST'])
@panel_login_required
def get_panel_list():
return []
# 设置面板名称
@blueprint.route('/set_webname', endpoint='set_webname', methods=['POST'])
@panel_login_required
+16 -15
View File
@@ -1138,7 +1138,7 @@ function listOrder(skey,type,obj){
//获取关联列表
function getPanelList(){
var con ='';
$.post("/config/get_panel_list",function(rdata){
$.post("/setting/get_panel_list",function(rdata){
for(var i=0; i<rdata.length; i++){
con +='<h3 class="mypcip mypcipnew" style="opacity:.6" data-url="'+rdata[i].url+'" data-user="'+rdata[i].username+'" data-pw="'+rdata[i].password+'">\
<span class="f14 cw">'+rdata[i].title+'</span>\
@@ -1203,7 +1203,7 @@ function bindPanel(a,type,ip,btid,url,user,pw){
if(pw == undefined) pw="";
if(ip == undefined) ip="";
if(a == 1) {
var gurl = "/config/add_panel_info";
var gurl = "/setting/add_panel_info";
var btaddress = $("#btaddress").val();
if(!btaddress.match(/^(http|https)+:\/\/([\w-]+\.)+[\w-]+:\d+/)){
layer.msg('面板地址格式不正确,示例:<p>http://192.168.0.1:8888</p>',{icon:5,time:5000});
@@ -1218,7 +1218,7 @@ function bindPanel(a,type,ip,btid,url,user,pw){
return;
}
if(type=="c"){
gurl = "/config/set_panel_info";
gurl = "/setting/set_panel_info";
data = data+"&id="+btid;
}
$.post(gurl, data, function(b) {
@@ -1276,7 +1276,7 @@ function bindPanel(a,type,ip,btid,url,user,pw){
}
//删除快捷登录
function bindPaneldel(id){
$.post("/config/del_panel_info","id="+id,function(rdata){
$.post("/setting/del_panel_info","id="+id,function(rdata){
layer.closeAll();
layer.msg(rdata.msg,{icon:rdata.status?1:2});
getPanelList();
@@ -1309,6 +1309,7 @@ function getSpeed(sele){
},1000);
},'json');
}
//消息盒子
function messageBox() {
layer.open({
@@ -1318,17 +1319,17 @@ function messageBox() {
closeBtn: 1,
shadeClose: false,
content: '<div class="bt-form">\
<div class="bt-w-main">\
<div class="bt-w-menu">\
<p class="bgw" id="taskList" onclick="tasklist()">任务列表(<span class="task_count">0</span>)</p>\
<p onclick="remind()">消息列表(<span class="msg_count">0</span>)</p>\
<p onclick="execLog()">执行日志</p>\
</div>\
<div class="bt-w-con pd15">\
<div class="taskcon"></div>\
</div>\
</div>\
</div>'
<div class="bt-w-main">\
<div class="bt-w-menu">\
<p class="bgw" id="taskList" onclick="tasklist()">任务列表(<span class="task_count">0</span>)</p>\
<p onclick="remind()">消息列表(<span class="msg_count">0</span>)</p>\
<p onclick="execLog()">执行日志</p>\
</div>\
<div class="bt-w-con pd15">\
<div class="taskcon"></div>\
</div>\
</div>\
</div>'
});
$(".bt-w-menu p").click(function(){
$(this).addClass("bgw").siblings().removeClass("bgw");