From 94195b5246ea8113feee412ad4279c0f0c201d6e Mon Sep 17 00:00:00 2001 From: midoks Date: Sat, 7 Jan 2023 19:21:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=98=B2=E7=81=AB=E5=A2=99?= =?UTF-8?q?=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugins/op_waf/index.py | 29 +++++++++++++++++++----- plugins/op_waf/js/op_waf.js | 44 +++++++++++++++++++++---------------- 2 files changed, 48 insertions(+), 25 deletions(-) diff --git a/plugins/op_waf/index.py b/plugins/op_waf/index.py index d3325ae9f..3d34457ba 100755 --- a/plugins/op_waf/index.py +++ b/plugins/op_waf/index.py @@ -1054,24 +1054,41 @@ def removeSiteCdnHeader(): def outputData(): args = getArgs() - data = checkArgs(args, ['s_Name']) + data = checkArgs(args, ['sname']) if not data[0]: return data[1] - path = getRuleJsonPath(args['s_Name']) + path = getRuleJsonPath(args['sname']) content = mw.readFile(path) return mw.returnJson(True, 'ok', content) def importData(): args = getArgs() - data = checkArgs(args, ['s_Name', 'pdata']) + data = checkArgs(args, ['sname', 'pdata']) if not data[0]: return data[1] - path = getRuleJsonPath(args['s_Name']) - mw.writeFile(path, args['pdata']) - restartWeb() + path = getRuleJsonPath(args['sname']) + + source_data = mw.readFile(path) + source_data = json.loads(source_data) + + save_data = [] + save_data.append(source_data[0]) + pdata = args['pdata'].strip() + try: + pdata = json.loads(pdata) + mw.writeFile(path, json.dumps(pdata)) + except Exception as e: + pdata = pdata.split("\\n") + for x in pdata: + pval = x.strip() + if pval != "": + vv = json.loads(pval) + save_data.append(vv[0]) + mw.writeFile(path, json.dumps(save_data)) + # restartWeb() return mw.returnJson(True, '设置成功!') diff --git a/plugins/op_waf/js/op_waf.js b/plugins/op_waf/js/op_waf.js index 469029adb..1e635df7d 100755 --- a/plugins/op_waf/js/op_waf.js +++ b/plugins/op_waf/js/op_waf.js @@ -568,14 +568,14 @@ function outputLayer(rdata, name, type) { '
' + '' + '
导入格式如下:' + - (name == 'ip_white' || name == 'ip_black' ? "[[[127, 0, 0, 1],[127, 0, 0, 255]]]" : "[\"^/test\",\"^/web\"]") + + (name == 'ip_white' || name == 'ip_black' ? "[[[127, 0, 0, 1],[127, 0, 0, 255]],[[192, 0, 0, 1],[192, 0, 0, 255]]]" : "[\"^/test\",\"^/web\"]") + '
' + '
' + '' + '
' + (type ? '' : '') + '
' + - '' + '', }); var lead_error = CodeMirror.fromTextArea(document.getElementById("lead_data"), { mode: 'html', @@ -585,7 +585,10 @@ function outputLayer(rdata, name, type) { }); setTimeout(function () { $('.btn_save').on('click', function () { - importData(name, lead_error.getValue()); + importData(name, lead_error.getValue(), function(){ + layer.close(window.Load_layer); + ipWhiteLoadList(); + }); }) $('.btn_save_to').on('click', function () { funDownload(lead_error.getValue(), name + '.json'); @@ -601,7 +604,7 @@ function outputLayer(rdata, name, type) { function outputData(name, callback) { var loadT = layer.msg('正在导出数据..', { icon: 16, time: 0 }); - owPost('output_data', { s_Name: name } , function(data){ + owPost('output_data', { sname: name } , function(data){ var tmp = $.parseJSON(data.data); var rdata = $.parseJSON(tmp.data); if (callback) callback(rdata,res); @@ -611,7 +614,7 @@ function outputData(name, callback) { //导入数据 function importData(name, pdata, callback) { - owPost('import_data', { s_Name: name, pdata: pdata } , function(data){ + owPost('import_data', { sname: name, pdata: pdata } , function(data){ var rdata = $.parseJSON(data.data); if (callback) callback(); layer.msg(rdata.msg, { icon: rdata.status ? 1 : 2 }); @@ -622,6 +625,22 @@ function fileInput(name) { outputLayer('', name, false); } + +function ipWhiteLoadList(){ + getRuleByName('ip_white', function(data){ + var tmp = $.parseJSON(data.data); + var rdata = $.parseJSON(tmp.data); + var tbody = '' + for (var i = 0; i < rdata.length; i++) { + tbody += '\ + '+ rdata[i][0].join('.') + '\ + '+ rdata[i][1].join('.') + '\ + 删除\ + ' + } + $("#ip_white_con").html(tbody); + }); +} //IP白名单 function ipWhite(type) { if (type == undefined) { @@ -675,20 +694,7 @@ function ipWhite(type) { }); tableFixed("ipWhite"); } - - getRuleByName('ip_white', function(data){ - var tmp = $.parseJSON(data.data); - var rdata = $.parseJSON(tmp.data); - var tbody = '' - for (var i = 0; i < rdata.length; i++) { - tbody += '\ - '+ rdata[i][0].join('.') + '\ - '+ rdata[i][1].join('.') + '\ - 删除\ - ' - } - $("#ip_white_con").html(tbody); - }); + ipWhiteLoadList(); } //IP白名单