提交 72816e10 编写于 作者: H hjdhnx

增加隐藏反馈

上级 5e5458a5
无法预览此类型文件
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import os import os
from flask import Blueprint,request,render_template,jsonify,make_response from flask import Blueprint,request,render_template,jsonify,make_response
from controllers.service import storage_service from controllers.service import storage_service,rules_service
from base.R import R from base.R import R
from utils.update import getLocalVer,getOnlineVer,download_new_version,download_lives,copy_to_update from utils.update import getLocalVer,getOnlineVer,download_new_version,download_lives,copy_to_update
from utils import parser from utils import parser
...@@ -117,10 +117,22 @@ def admin_rule_state(state=0): # 管理员修改规则状态 ...@@ -117,10 +117,22 @@ def admin_rule_state(state=0): # 管理员修改规则状态
if not verfy_token(): if not verfy_token():
return R.error('请登录后再试') return R.error('请登录后再试')
names = getParmas('names') names = getParmas('names')
print(names,type(names)) if not names:
# lsg = storage_service() return R.success(f'修改失败,没有传递names参数')
res_id = 0 rule_list = names.split(',')
return R.success(f'修改成功,记录ID为:{res_id}') rules = rules_service()
# print(rules.query_all())
# print(rules.getState(rule_list[0]))
# print(rule_list)
success_list = []
for rule in rule_list:
try:
res_id = rules.setState(rule,state)
success_list.append(f'{rule}:{res_id}')
except:
success_list.append(rule)
return R.success(f'修改成功,服务器反馈信息为:{success_list}')
@admin.route('/force_update') @admin.route('/force_update')
def admin_force_update(): def admin_force_update():
......
...@@ -6,7 +6,9 @@ ...@@ -6,7 +6,9 @@
from base.R import copy_utils from base.R import copy_utils
from models.storage import Storage from models.storage import Storage
from models.ruleclass import RuleClass
from utils.cfg import cfg from utils.cfg import cfg
from base.database import db
class storage_service(object): class storage_service(object):
...@@ -66,4 +68,42 @@ class storage_service(object): ...@@ -66,4 +68,42 @@ class storage_service(object):
@classmethod @classmethod
def clearItem(self,key): def clearItem(self,key):
return Storage.clearItem(key) return Storage.clearItem(key)
\ No newline at end of file
class rules_service(object):
@staticmethod
def query_all():
# 查询所有
res = RuleClass.query.all()
return copy_utils.obj_to_list(res)
@classmethod
def hasItem(self, key):
return RuleClass.hasItem(key)
def getState(self,key):
res = RuleClass.query.filter(RuleClass.name == key).first()
if not res:
return 1
# print(res)
state = res.state
if state is None:
state = 1
return state or 0
def setState(self,key,state=0):
res = RuleClass.query.filter(RuleClass.name == key).first()
if res:
res.state = state
db.session.add(res)
else:
res = RuleClass(name=key, state=state)
db.session.add(res)
db.session.flush() # 获取id
try:
db.session.commit()
return res.id
except Exception as e:
print(f'发生了错误:{e}')
return None
\ No newline at end of file
...@@ -14,11 +14,19 @@ class RuleClass(db.Model): ...@@ -14,11 +14,19 @@ class RuleClass(db.Model):
class_name = db.Column(db.String(255)) class_name = db.Column(db.String(255))
class_url = db.Column(db.String(255)) class_url = db.Column(db.String(255))
cookie = db.Column(db.String(255)) cookie = db.Column(db.String(255))
state = db.Column(db.Integer, default=0) state = db.Column(db.Integer, default=1)
order = db.Column(db.Integer, default=0) order = db.Column(db.Integer, default=0)
create_date = db.Column(db.DateTime, index=True, default=datetime.now) create_date = db.Column(db.DateTime, index=True, default=datetime.now)
write_date = db.Column(db.DateTime, index=True, default=datetime.now,onupdate=datetime.now) write_date = db.Column(db.DateTime, index=True, default=datetime.now,onupdate=datetime.now)
def __repr__(self): def __repr__(self):
return "<RuleClass(name='%s', class_name='%s', class_url='%s',cookie='%s')>" % ( return "<RuleClass(name='%s', class_name='%s', class_url='%s',cookie='%s')>" % (
self.name, self.class_name, self.class_url, self.cookie) self.name, self.class_name, self.class_url, self.cookie)
\ No newline at end of file
@classmethod
def hasItem(self, key):
exists = db.session.query(self).filter(self.name == key).scalar() is not None
if exists:
return True
else:
return False
\ No newline at end of file
...@@ -260,7 +260,12 @@ layui.use(['table', 'dropdown'], function(){ ...@@ -260,7 +260,12 @@ layui.use(['table', 'dropdown'], function(){
var data = obj.data; var data = obj.data;
//console.log(obj) //console.log(obj)
if(obj.event === 'del'){ if(obj.event === 'del'){
let obj_name = obj.data.api.match(/rule=(.*)/)[1].split('&')[0]; let obj_name;
try{
obj_name = obj.data.api.match(/rule=(.*)/)[1].split('&')[0];
}catch (e){
obj_name = obj.data.key;
}
layer.confirm('真的要隐藏规则'+obj_name+'', function(index){ layer.confirm('真的要隐藏规则'+obj_name+'', function(index){
console.log(obj); console.log(obj);
let params = {"names":[obj_name].join(',')}; let params = {"names":[obj_name].join(',')};
...@@ -277,7 +282,7 @@ layui.use(['table', 'dropdown'], function(){ ...@@ -277,7 +282,7 @@ layui.use(['table', 'dropdown'], function(){
} }
}); });
// obj.del(); // obj.del(); //这是删除,隐藏规则是不需要删除规则的,最多也就刷新一下
layer.close(index); layer.close(index);
}); });
} else if(obj.event === 'edit'){ } else if(obj.event === 'edit'){
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册