feat: 添加系统配置,更新验证码接口

This commit is contained in:
2025-02-12 23:25:19 +08:00
parent 46e9e79670
commit 2f28d6d5e0
15 changed files with 362 additions and 35 deletions

View File

@@ -263,3 +263,5 @@ class RedisKeyConfig(Enum):
"""用于存储国际化数据。"""
TRANSLATION_TYPES = {'key': 'translation_types', 'remark': '国际化类型'}
"""国际化类型,存储国际化类型及其配置信息。"""
SYSTEM_CONFIG = {'key': 'system_config', 'remark': '系统配置信息'}
"""系统配置信息,存储系统的配置信息。"""

View File

@@ -473,6 +473,7 @@ class GetConfig:
"""
# 实例化邮件配置
return EmailSettings()
@lru_cache()
def get_map_config(self) -> 'MapSettings':
"""

View File

@@ -9,7 +9,9 @@
from redis import asyncio as aioredis
from redis.exceptions import AuthenticationError, TimeoutError, RedisError
from config.constant import RedisKeyConfig
from config.env import RedisConfig
from models import Config
from utils.log import logger
@@ -66,3 +68,18 @@ class Redis:
"""
await app.state.redis.close()
logger.info('关闭 Redis 连接成功')
@classmethod
async def init_system_config(cls, app):
"""
初始化系统配置
"""
# 获取以sys_config:开头的键列表
keys = await app.state.redis.keys(f'{RedisKeyConfig.SYSTEM_CONFIG.key}:*')
# 删除匹配的键
if keys:
await app.state.redis.delete(*keys)
config = await Config.all().values()
for item in config:
await app.state.redis.set(f"{RedisKeyConfig.SYSTEM_CONFIG.key}:{item.get('key')}",
item.get('value'), )