feat: 添加系统配置,更新验证码接口
This commit is contained in:
@@ -263,3 +263,5 @@ class RedisKeyConfig(Enum):
|
||||
"""用于存储国际化数据。"""
|
||||
TRANSLATION_TYPES = {'key': 'translation_types', 'remark': '国际化类型'}
|
||||
"""国际化类型,存储国际化类型及其配置信息。"""
|
||||
SYSTEM_CONFIG = {'key': 'system_config', 'remark': '系统配置信息'}
|
||||
"""系统配置信息,存储系统的配置信息。"""
|
||||
|
||||
@@ -473,6 +473,7 @@ class GetConfig:
|
||||
"""
|
||||
# 实例化邮件配置
|
||||
return EmailSettings()
|
||||
|
||||
@lru_cache()
|
||||
def get_map_config(self) -> 'MapSettings':
|
||||
"""
|
||||
|
||||
@@ -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'), )
|
||||
|
||||
Reference in New Issue
Block a user