Files
dromara--domain-admin/domain_admin/service/system_service.py
T
2026-07-13 12:31:34 +08:00

80 lines
2.0 KiB
Python

# -*- coding: utf-8 -*-
"""
system_service.py
"""
from __future__ import print_function, unicode_literals, absolute_import, division
from domain_admin.config import PROMETHEUS_KEY
from domain_admin.enums.config_key_enum import ConfigKeyEnum
from domain_admin.model.system_model import SystemModel
from domain_admin.utils import md5_util, secret_util
from domain_admin.utils.flask_ext.app_exception import AppException
def get_system_config():
"""
获取系统配置
:return:
"""
rows = SystemModel.select(
SystemModel.key,
SystemModel.value,
)
config = {}
for row in rows:
config[row.key] = row.value
return config
def get_config(key):
return get_system_config().get(key)
def check_email_config(config):
if not config['mail_host']:
raise AppException('未设置发件邮箱服务器地址')
if not config['mail_port']:
raise AppException('未设置发件邮箱服务器端口')
if not config['mail_username']:
raise AppException('未设置发件人邮箱账号')
if not config['mail_password']:
raise AppException('未设置发件人邮箱密码')
def get_email_config():
config = get_system_config()
# check_email_config(config)
return config
def init_system_config(app):
"""
初始化全局常量配置
:param app:
:return:
"""
config = get_system_config()
# 旧版本已存在
app.config[ConfigKeyEnum.SECRET_KEY] = config[ConfigKeyEnum.SECRET_KEY]
app.config[ConfigKeyEnum.TOKEN_EXPIRE_DAYS] = config[ConfigKeyEnum.TOKEN_EXPIRE_DAYS]
# 兼容老版本 prometheus key
if ConfigKeyEnum.PROMETHEUS_KEY in config:
app.config[ConfigKeyEnum.PROMETHEUS_KEY] = config[ConfigKeyEnum.PROMETHEUS_KEY]
else:
SystemModel.create(
key=ConfigKeyEnum.PROMETHEUS_KEY,
value=PROMETHEUS_KEY,
label='prometheus_key',
placeholder='prometheus_key'
)
app.config[ConfigKeyEnum.PROMETHEUS_KEY] = PROMETHEUS_KEY