You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
3.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

DATABASE_URL=mysql://app:app@localhost:7023/email_forecast
POLL_INTERVAL_MS=1800000
# Worker 优先读设置页 imap_settings(默认 30min);上值仅作回退
DATA_RETENTION_DAYS=30
ENABLE_TYPE_OVERRIDE=true
ENABLE_FORCE_IMPORT=false
# Admin 强制跳过冲突:设 true 后确认页冲突 Modal 出现「强制跳过并导入」
ENABLE_ISO_CHECK=true
# CC
# 推荐:Admin「设置 → CarrierCentral」配置(入库优先于下方 .env)
# 无账号保持 mock;有账号后关 mock 并填用户名密码,或 pnpm cc:smoke -- --mode=live
# V1.72 文档 demovip 联调示例:
# CC_MOCK=false
# CC_API_BASE=https://demovip.saas.carriercentral.vip/api
# CC_USERNAME=fj CC_PASSWORD_PLAIN=(见接口文档测试客户密码)
# 然后:pnpm exec tsx scripts/apply-demovip-cc.ts
# 一期 PRD 默认仍是 test.saas + Saas:TEST(有正式 TEST 账号时改回)
CC_MOCK=true
# 测试基础设施(与 CC_MOCK 正交):Mock IMAP + 可故障注入的 MockTargetAPI。生产勿开。
# TEST_MODE=1
# 生产可观测:连续 IMAP 失败 / CC 鉴权过期 POST JSON(空则只写日志)
# ALERT_WEBHOOK_URL=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=
# ALERT_WEBHOOK_TIMEOUT_MS=5000
IMAP_HOST=imap.qq.com
IMAP_PORT=993
# 可选回退;生产请用 Admin「设置 → 邮箱绑定」写入 DB(AES 加密)
IMAP_USER=
IMAP_PASS=
CC_API_BASE=https://test.saas.carriercentral.vip/api
CC_SAAS_HEADER=TEST
CC_LOGIN_MARK=11111111-2222-3333-4444-555555555555
CC_USERNAME=
CC_PASSWORD_PLAIN=
# CC_PASSWORD_MD5=
# 生产必须替换默认值;NODE_ENV=production 时弱口令/默认 SESSION_SECRET 会拒绝启动
APP_ADMIN_USER=admin
APP_ADMIN_PASS=admin123
APP_OPS_USER=ops
APP_OPS_PASS=ops123
# 至少 32 字符;生产勿使用下列占位
SESSION_SECRET=change-me-to-a-long-random-string-at-least-32-chars
CC_HTTP_TIMEOUT_MS=60000
# 查柜 / 船司等读接口;过长会卡住页面
CC_READ_TIMEOUT_MS=8000
IMAP_CONNECT_TIMEOUT_MS=30000
IMAP_READ_TIMEOUT_MS=60000
# 同步近 N 天(已读+未读),默认 3;每轮每箱最多拉 N 封新信
IMAP_LOOKBACK_DAYS=3
IMAP_MAX_FETCH_PER_TICK=100
IMAP_IDLE_ENABLED=true
# 国内访问 Gmail:填本机代理(Clash 混合端口多为 http://127.0.0.1:7890,SOCKS 为 socks5://127.0.0.1:7891)
# 默认只代理 Gmail/Outlook;QQ/163 仍直连。全部邮箱走代理则 IMAP_PROXY_HOSTS=*
# IMAP_PROXY=socks5://127.0.0.1:7891
# IMAP_PROXY_HOSTS=gmail,google,outlook,office365,hotmail,live,msn
# OCR:off | local | aliyun
OCR_PROVIDER=local
OCR_MIN_CONFIDENCE=40
OCR_ALIYUN_ENDPOINT=
OCR_ALIYUN_ACCESS_KEY=
OCR_ALIYUN_SECRET_KEY=
# OAuth(Gmail / Microsoft);未配置时设置页按钮禁用,仍可用授权码
OAUTH_PUBLIC_BASE_URL=http://localhost:3100
OAUTH_GOOGLE_CLIENT_ID=
OAUTH_GOOGLE_CLIENT_SECRET=
OAUTH_MS_CLIENT_ID=
OAUTH_MS_CLIENT_SECRET=
OAUTH_MS_TENANT=common
# 自动执行(TRANSFER / 留仓拆分 / 贴标);须 cc_write_capability live 才算 TEST 完成
ENABLE_AUTO_EXEC_TRANSFER=true
ENABLE_AUTO_EXEC_HOLD_SPLIT=true
ENABLE_AUTO_EXEC_LABEL=true
AUTO_EXEC_REQUIRE_CONFIRM=false
PARSING_STALE_MS=600000
IMPORTING_TIMEOUT_MS=180000
COMPENSATION_MAX_RETRY=3
SHIPMENT_ROW_SOFT_LIMIT=1000
SHIPMENT_ROW_HARD_LIMIT=5000
ATTACHMENT_MAX_BYTES=20971520