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 }