import os from datetime import timedelta class Config: # 基础配置 SECRET_KEY = os.environ.get('SECRET_KEY') or 'your-secret-key-here-change-in-production' # 数据库配置 MYSQL_HOST = os.environ.get('MYSQL_HOST', '119.91.236.167') MYSQL_PORT = int(os.environ.get('MYSQL_PORT', 3306)) MYSQL_USER = os.environ.get('MYSQL_USER', 'Language_learning') MYSQL_PASSWORD = os.environ.get('MYSQL_PASSWORD', 'cosyvoice') MYSQL_DB = os.environ.get('MYSQL_DB', 'language_learning') SQLALCHEMY_DATABASE_URI = f'mysql+pymysql://{MYSQL_USER}:{MYSQL_PASSWORD}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DB}?charset=utf8mb4' SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_ENGINE_OPTIONS = { 'pool_pre_ping': True, 'pool_recycle': 300, } # 邮箱配置 EMAIL_HOST = os.environ.get('EMAIL_HOST', 'smtp.qq.com') EMAIL_PORT = int(os.environ.get('EMAIL_PORT', 587)) EMAIL_ENCRYPTION = os.environ.get('EMAIL_ENCRYPTION', 'starttls') EMAIL_USERNAME = os.environ.get('EMAIL_USERNAME', '3399560459@qq.com') EMAIL_PASSWORD = os.environ.get('EMAIL_PASSWORD', 'fzwhyirhbqdzcjgf') EMAIL_FROM = os.environ.get('EMAIL_FROM', '3399560459@qq.com') EMAIL_FROM_NAME = os.environ.get('EMAIL_FROM_NAME', 'BOOKSYSTEM_OFFICIAL') # Session配置 PERMANENT_SESSION_LIFETIME = timedelta(hours=24) # 验证码配置 VERIFICATION_CODE_EXPIRE_MINUTES = 5 # 文件上传配置 MAX_CONTENT_LENGTH = 100 * 1024 * 1024 # 100MB class DevelopmentConfig(Config): DEBUG = True class ProductionConfig(Config): DEBUG = False config = { 'development': DevelopmentConfig, 'production': ProductionConfig, 'default': DevelopmentConfig }