51 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
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
 | 
						|
}
 |