# ============================================================
# Walmart & Amazon 双平台商品监控系统 - 环境变量配置
# ============================================================
#
# 使用方式：
#   1. 复制此文件为 .env
#   2. 填入你的配置
#   3. 运行 python run.py 或 uvx walmart-monitor
#
# 配置文件位置（按优先级）：
#   - ./.env                    # 当前目录
#   - ~/.walmart-monitor/.env   # 用户主目录
# ============================================================


# ------------------------------------------------------------
# 运行模式配置
# ------------------------------------------------------------

# 运行模式（5种可选）：
#   web            - Web API 服务（默认）
#   cli            - 单平台单次执行
#   cli-dual       - 双平台单次执行（推荐）
#   scheduler      - 单平台定时任务
#   scheduler-dual - 双平台定时任务（推荐）
RUN_MODE=cli-dual

# 定时任务 Cron 表达式（仅 scheduler/scheduler-dual 模式有效）
# 示例：0 */2 * * * 表示每2小时执行一次
CRON_EXPRESSION=0 */2 * * *

# Web 服务配置（仅 web 模式有效）
WEB_HOST=0.0.0.0
WEB_PORT=8000


# ------------------------------------------------------------
# 爬虫配置
# ------------------------------------------------------------

# 并发标签页数量（多页签并发爬取，默认3个）
SPIDER_CONCURRENCY=3

# 第三轮浏览器重启重试最大次数（默认3次）
BROWSER_RESTART_MAX_RETRIES=3

# Chrome 用户数据目录（用于保持登录状态）
# Windows 示例：C:\Users\用户名\AppData\Local\Google\Chrome\User Data\Default
# macOS 示例：~/Library/Application Support/Google/Chrome/Default
CHROME_USER_DATA_PATH=


# ------------------------------------------------------------
# 多实例配置（支持同时运行多个爬虫实例）
# ------------------------------------------------------------

# 实例ID（0-99，每个实例使用不同端口）
INSTANCE_ID=0

# Chrome 调试端口基础值（实际端口 = 基础值 + 实例ID）
# 实例0使用9333，实例1使用9334，以此类推
CHROME_PORT_BASE=9333


# ------------------------------------------------------------
# 速率限制配置（防止被反爬系统封禁）
# ------------------------------------------------------------

# 每分钟最大请求数（建议15以下）
RATE_LIMIT_PER_MINUTE=15

# 每小时最大请求数（建议500以下）
RATE_LIMIT_PER_HOUR=500


# ------------------------------------------------------------
# 终端UI配置（cli/scheduler 模式有效）
# ------------------------------------------------------------

# 是否启用终端进度显示
ENABLE_TERMINAL_UI=true

# 终端日志显示行数
TERMINAL_LOG_LINES=5


# ------------------------------------------------------------
# 钉钉机器人通知配置
# ------------------------------------------------------------

# 钉钉机器人 Webhook 地址
DINGTALK_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=你的access_token

# 钉钉机器人加签密钥
DINGTALK_SECRET=SEC你的密钥

# 钉钉 @ 指定人员手机号（多个用逗号分隔）
# 为空则异常时 @所有人
# 示例：DINGTALK_AT_MOBILES=13800138000,13900139000
DINGTALK_AT_MOBILES=


# ------------------------------------------------------------
# 钉钉文档配置（用于读取商品URL列表）
# ------------------------------------------------------------

# 是否启用钉钉文档读取
DINGTALK_DOC_ENABLED=true

# 钉钉文档 URL（电子表格分享链接）
DINGTALK_DOC_URL=https://alidocs.dingtalk.com/i/nodes/你的文档ID

# 钉钉应用 AppKey（企业内部应用）
DINGTALK_APP_KEY=你的AppKey

# 钉钉应用 AppSecret
DINGTALK_APP_SECRET=你的AppSecret

# 操作人 UnionId（用于文档API鉴权）
DINGTALK_OPERATOR_ID=你的UnionId


# ------------------------------------------------------------
# 历史记录配置（异常记录到钉钉表格）
# ------------------------------------------------------------

# 是否启用异常历史记录
HISTORY_RECORD_ENABLED=true

# 历史记录 Sheet 名称
HISTORY_SHEET_NAME=异常记录


# ------------------------------------------------------------
# 双平台监控配置（Walmart + Amazon）
# ------------------------------------------------------------

# 是否启用 Walmart 检测
WALMART_ENABLED=true

# 是否启用价格监控
PRICE_MONITOR_ENABLED=true

# 检测结果记录 Sheet 名称
RES_SHEET_NAME=Res

# 数据源 Sheet 列表（逗号分隔）
DATA_SHEETS=Sheet1,Sheet2

# 是否启用批量通知（检测完成后发送汇总）
BATCH_NOTIFICATION_ENABLED=true


# ------------------------------------------------------------
# 代理配置
# ------------------------------------------------------------

# 是否启用代理
PROXY_ENABLED=false

# 代理地址池（逗号分隔多个代理）
PROXY_POOL=http://proxy1:port,http://proxy2:port


# ------------------------------------------------------------
# Amazon SP-API 店铺配置（可选，用于从 SP-API 获取商品列表）
# ------------------------------------------------------------

# 店铺配置格式：{店铺名}_REFRESH_TOKEN, {店铺名}_LWA_APP_ID 等
# 系统会自动识别所有以 _REFRESH_TOKEN 结尾的环境变量

# --- 示例：店铺1 (美国市场) ---
# STORE1_REFRESH_TOKEN=Atzr|xxx
# STORE1_LWA_APP_ID=amzn1.application-oa2-client.xxx
# STORE1_LWA_CLIENT_SECRET=amzn1.oa2-cs.v1.xxx
# STORE1_AWS_ACCESS_KEY_ID=AKIA...
# STORE1_AWS_SECRET_ACCESS_KEY=xxx
# STORE1_MARKETPLACE_ID=ATVPDKIKX0DER
