This commit is contained in:
ZhuJW
2026-04-22 13:35:40 +08:00
commit 26a7fdf6c0
40 changed files with 11602 additions and 0 deletions

76
app/config.py Normal file
View File

@@ -0,0 +1,76 @@
import os
class Config:
SECRET_KEY = os.environ.get('SECRET_KEY', 'your-secret-key-here')
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL', 'mysql+pymysql://mb:mb12345@150.158.121.95:3306/rulebase?charset=utf8mb4')
SQLALCHEMY_TRACK_MODIFICATIONS = False # 关闭警告
JWT_SECRET_KEY = os.environ.get('JWT_SECRET_KEY', 'bag_tag')
JWT_ACCESS_TOKEN_EXPIRES = 7200 # 1小时
MONGO_URI = os.environ.get('MONGO_URI', 'mongodb://localhost:27017/vlm')
# 基础配置
class BaseConfig:
DEBUG = False
TESTING = False
SECRET_KEY = os.environ.get('SECRET_KEY', 'default-secret-key')
# 日志配置
LOG_LEVEL = 'INFO'
LOG_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'logs')
LOG_FILE_MAX_BYTES = 1024 * 1024 * 10 # 10MB
LOG_FILE_BACKUP_COUNT = 10
# MySQL 配置
SQLALCHEMY_DATABASE_URI = os.environ.get(
'DATABASE_URL',
'mysql+pymysql://mb:mb12345@150.158.121.95:3306/rulebase?charset=utf8mb4'
# 'mysql+pymysql://root:mb12345@10.0.220.217:3306/rulebase1?charset=utf8mb4'
# 'mysql+pymysql://root:mb12345@10.204.22.142:3306/rulebase?charset=utf8mb4'
)
SQLALCHEMY_TRACK_MODIFICATIONS = False
# MongoDB 配置
MONGO_URI = os.environ.get('MONGO_URI', 'mongodb://150.158.121.95:27017/vlm')
JWT_SECRET_KEY = os.environ.get('JWT_SECRET_KEY', 'bag_tag')
JWT_ACCESS_TOKEN_EXPIRES = 14400 # 4小时
# 开发环境配置
class DevelopmentConfig(BaseConfig):
DEBUG = True
LOG_LEVEL = 'INFO'
# 生产环境配置
class ProductionConfig(BaseConfig):
# 生产环境从环境变量获取所有敏感信息
# 生产环境专用配置
# SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://root:mb12345@10.0.220.217:3306/rulebase?charset=utf8mb4'
# MONGO_URI = 'mongodb://localhost:27017/vlm'
# # 可添加生产环境特有配置
# SESSION_COOKIE_SECURE = True # 启用安全Cookie
# PERMANENT_SESSION_LIFETIME = 3600 # 会话有效期1小时
pass
# 测试环境配置
class TestingConfig(BaseConfig):
TESTING = True
SQLALCHEMY_DATABASE_URI = 'sqlite:///:memory:'
MONGODB_SETTINGS = {
'db': 'test_database',
'host': 'localhost',
'port': 27017,
}
# 配置映射
config_map = {
'development': DevelopmentConfig,
# 'production': ProductionConfig,
'testing': TestingConfig,
'default': DevelopmentConfig
}