'init'
This commit is contained in:
81
config.py
Normal file
81
config.py
Normal file
@@ -0,0 +1,81 @@
|
||||
import os
|
||||
from dotenv import load_dotenv
|
||||
|
||||
# 获取运行环境,默认为 development
|
||||
ENV = os.getenv('ENV', 'development')
|
||||
|
||||
# 根据环境加载对应的配置文件
|
||||
if ENV == 'production':
|
||||
env_file = '.env.production'
|
||||
else:
|
||||
env_file = '.env.development'
|
||||
|
||||
# 加载环境配置文件
|
||||
from pathlib import Path
|
||||
env_path = Path(env_file)
|
||||
if env_path.exists():
|
||||
load_dotenv(env_file)
|
||||
# 始终显示配置加载信息(便于调试)
|
||||
print(f"[Config] 加载配置文件: {env_path.absolute()}")
|
||||
api_key = os.getenv('ADSPOWER_API_KEY', '')
|
||||
if api_key:
|
||||
print(f"[Config] ADSPOWER_API_KEY: {api_key[:8]}... (长度: {len(api_key)})")
|
||||
else:
|
||||
print(f"[Config] ADSPOWER_API_KEY: 未设置")
|
||||
else:
|
||||
print(f"[Config] 警告: 配置文件不存在 {env_path.absolute()}")
|
||||
load_dotenv() # 尝试加载默认的 .env
|
||||
|
||||
|
||||
class BaseConfig:
|
||||
"""基础配置类"""
|
||||
|
||||
# 环境标识
|
||||
ENV = ENV
|
||||
|
||||
# AdsPower配置
|
||||
ADSPOWER_API_URL = os.getenv('ADSPOWER_API_URL', 'http://local.adspower.net:50325')
|
||||
ADSPOWER_USER_ID = os.getenv('ADSPOWER_USER_ID', '')
|
||||
ADSPOWER_API_KEY = os.getenv('ADSPOWER_API_KEY', '') # 可选,某些版本需要
|
||||
|
||||
# 服务配置
|
||||
SERVER_HOST = os.getenv('SERVER_HOST', '0.0.0.0')
|
||||
SERVER_PORT = int(os.getenv('SERVER_PORT', 5000))
|
||||
|
||||
# 点击策略配置
|
||||
MIN_CLICK_COUNT = int(os.getenv('MIN_CLICK_COUNT', 1))
|
||||
MAX_CLICK_COUNT = int(os.getenv('MAX_CLICK_COUNT', 10))
|
||||
CLICK_INTERVAL_MINUTES = int(os.getenv('CLICK_INTERVAL_MINUTES', 30))
|
||||
WORK_START_HOUR = int(os.getenv('WORK_START_HOUR', 9))
|
||||
WORK_END_HOUR = int(os.getenv('WORK_END_HOUR', 21))
|
||||
REPLY_WAIT_TIMEOUT = int(os.getenv('REPLY_WAIT_TIMEOUT', 30))
|
||||
|
||||
# 数据存储路径
|
||||
DATA_DIR = os.getenv('DATA_DIR', './data')
|
||||
LOG_DIR = os.getenv('LOG_DIR', './logs')
|
||||
|
||||
# 调试模式
|
||||
DEBUG = os.getenv('DEBUG', 'False').lower() == 'true'
|
||||
|
||||
@classmethod
|
||||
def ensure_dirs(cls):
|
||||
"""确保必要的目录存在"""
|
||||
os.makedirs(cls.DATA_DIR, exist_ok=True)
|
||||
os.makedirs(cls.LOG_DIR, exist_ok=True)
|
||||
|
||||
|
||||
class DevelopmentConfig(BaseConfig):
|
||||
"""开发环境配置"""
|
||||
DEBUG = True
|
||||
|
||||
|
||||
class ProductionConfig(BaseConfig):
|
||||
"""生产环境配置"""
|
||||
DEBUG = False
|
||||
|
||||
|
||||
# 根据环境选择配置
|
||||
if ENV == 'production':
|
||||
Config = ProductionConfig
|
||||
else:
|
||||
Config = DevelopmentConfig
|
||||
Reference in New Issue
Block a user