refactor: 重构系统配置和用户模型相关代码

feat: 添加中间件系统配置获取功能
fix: 修复用户模型和CRUD基础类的问题
docs: 更新README和界面文本
style: 清理无用代码和注释
This commit is contained in:
zhangtao
2025-10-08 01:32:14 +08:00
parent 319a332ad3
commit e669722706
17 changed files with 232 additions and 189 deletions
@@ -216,4 +216,70 @@ class ParamsService:
logger.error(f"解析系统配置数据失败: {e}")
continue
return configs
return configs
@classmethod
async def get_system_config_for_middleware(cls, redis: Redis) -> Dict[str, Any]:
"""获取中间件所需的系统配置
返回:
Dict: 包含演示模式、IP白名单、API白名单和IP黑名单的配置字典
"""
# 定义需要获取的配置键
config_keys = [
f"{RedisInitKeyConfig.SYSTEM_CONFIG.key}:demo_enable",
f"{RedisInitKeyConfig.SYSTEM_CONFIG.key}:ip_white_list",
f"{RedisInitKeyConfig.SYSTEM_CONFIG.key}:white_api_list_path",
f"{RedisInitKeyConfig.SYSTEM_CONFIG.key}:ip_black_list"
]
# 批量获取配置
config_values = await RedisCURD(redis).mget(config_keys)
# 初始化默认配置
config_result = {
"is_demo_mode": False,
"demo_ip_white_list": [],
"api_white_list": [],
"ip_black_list": []
}
# 解析演示模式配置
if config_values[0]:
try:
demo_config = json.loads(config_values[0])
config_result["is_demo_mode"] = demo_config.get("config_value", False) if isinstance(demo_config, dict) else False
except json.JSONDecodeError:
logger.error(f"解析演示模式配置失败")
# 解析IP白名单配置
if config_values[1]:
try:
ip_white_config = json.loads(config_values[1])
demo_ip_white_list = ip_white_config.get("config_value", []) if isinstance(ip_white_config, dict) else []
# 确保是列表类型
config_result["demo_ip_white_list"] = demo_ip_white_list if isinstance(demo_ip_white_list, list) else []
except json.JSONDecodeError:
logger.error(f"解析IP白名单配置失败")
# 解析API路径白名单
if config_values[2]:
try:
white_api_config = json.loads(config_values[2])
api_white_list = white_api_config.get("config_value", []) if isinstance(white_api_config, dict) else []
# 确保是列表类型
config_result["api_white_list"] = api_white_list if isinstance(api_white_list, list) else []
except json.JSONDecodeError:
logger.error(f"解析API白名单配置失败")
# 解析IP黑名单
if config_values[3]:
try:
black_ip_config = json.loads(config_values[3])
ip_black_list = black_ip_config.get("config_value", []) if isinstance(black_ip_config, dict) else []
# 确保是列表类型
config_result["ip_black_list"] = ip_black_list if isinstance(ip_black_list, list) else []
except json.JSONDecodeError:
logger.error(f"解析IP黑名单配置失败")
return config_result