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

增加隐藏反馈

上级 5e5458a5
无法预览此类型文件
......@@ -6,7 +6,7 @@
import os
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 utils.update import getLocalVer,getOnlineVer,download_new_version,download_lives,copy_to_update
from utils import parser
......@@ -117,10 +117,22 @@ def admin_rule_state(state=0): # 管理员修改规则状态
if not verfy_token():
return R.error('请登录后再试')
names = getParmas('names')
print(names,type(names))
# lsg = storage_service()
res_id = 0
return R.success(f'修改成功,记录ID为:{res_id}')
if not names:
return R.success(f'修改失败,没有传递names参数')
rule_list = names.split(',')
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')
def admin_force_update():
......
......@@ -6,7 +6,9 @@
from base.R import copy_utils
from models.storage import Storage
from models.ruleclass import RuleClass
from utils.cfg import cfg
from base.database import db
class storage_service(object):
......@@ -66,4 +68,42 @@ class storage_service(object):
@classmethod
def clearItem(self,key):
return Storage.clearItem(key)
\ No newline at end of file
return Storage.clearItem(key)
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):
class_name = db.Column(db.String(255))
class_url = 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)
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)
def __repr__(self):
return "<RuleClass(name='%s', class_name='%s', class_url='%s',cookie='%s')>" % (
self.name, self.class_name, self.class_url, self.cookie)
\ No newline at end of file
self.name, self.class_name, self.class_url, self.cookie)
@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(){
var data = obj.data;
//console.log(obj)
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){
console.log(obj);
let params = {"names":[obj_name].join(',')};
......@@ -277,7 +282,7 @@ layui.use(['table', 'dropdown'], function(){
}
});
// obj.del();
// obj.del(); //这是删除,隐藏规则是不需要删除规则的,最多也就刷新一下
layer.close(index);
});
} else if(obj.event === 'edit'){
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册