""" Application configuration by environment. 数据库:腾讯云 MySQL (liaotian_db) """ import os from datetime import timedelta # 腾讯云 MySQL - 默认开发/生产库 DEFAULT_DATABASE_URL = ( "mysql+pymysql://root:!Rjb12191@" "gz-cynosdbmysql-grp-d26pzce5.sql.tencentcdb.com:24936/" "liaotian_db?charset=utf8mb4" ) class Config: """Base config.""" SECRET_KEY = os.getenv("SECRET_KEY", "dev-secret-change-in-production") SQLALCHEMY_TRACK_MODIFICATIONS = False # 知你客服 Agent 代理:与 androidExampleDemo 一致,8037 使用 admin/123456 PLATFORM_BASE_URL = os.getenv("PLATFORM_BASE_URL", "http://101.43.95.130:8037") PLATFORM_USERNAME = os.getenv("PLATFORM_USERNAME", "admin") PLATFORM_PASSWORD = os.getenv("PLATFORM_PASSWORD", "123456") PLATFORM_AGENT_ID = os.getenv("PLATFORM_AGENT_ID", "7332bba7-f9e7-4e10-9af6-7a0509a3ef97") JWT_ACCESS_TOKEN_EXPIRES = timedelta(hours=1) JWT_REFRESH_TOKEN_EXPIRES = timedelta(days=7) JWT_TOKEN_LOCATION = ["headers"] MAX_CONTENT_LENGTH = 10 * 1024 * 1024 # 10MB UPLOAD_FOLDER = os.getenv("UPLOAD_FOLDER", "/tmp/chat_uploads") class DevelopmentConfig(Config): DEBUG = True SQLALCHEMY_DATABASE_URI = os.getenv("DATABASE_URL", DEFAULT_DATABASE_URL) REDIS_URL = os.getenv("REDIS_URL", "redis://localhost:6379/0") CELERY_BROKER_URL = os.getenv("CELERY_BROKER_URL", "redis://localhost:6379/1") class TestingConfig(Config): TESTING = True SQLALCHEMY_DATABASE_URI = os.getenv( "TEST_DATABASE_URL", "mysql+pymysql://root:postgres@localhost:3306/liaotian_db_test?charset=utf8mb4" ) REDIS_URL = os.getenv("REDIS_URL", "redis://localhost:6379/2") WTF_CSRF_ENABLED = False class ProductionConfig(Config): DEBUG = False SQLALCHEMY_DATABASE_URI = os.getenv("DATABASE_URL", DEFAULT_DATABASE_URL) REDIS_URL = os.getenv("REDIS_URL") CELERY_BROKER_URL = os.getenv("CELERY_BROKER_URL") or os.getenv("REDIS_URL") config_by_name = { "development": DevelopmentConfig, "testing": TestingConfig, "production": ProductionConfig, }