refactor: 配置迁移至 .env,推送直连设备 MAC

- config.py 顶部新增零依赖 _load_dotenv(),凭证/参数统一从同目录 .env 读取,
  真实环境变量(cron/命令行注入)优先;移除所有明文 fallback
- 新增 .env.example 模板,.env 加入 .gitignore
- pusher.py 删除 get_devices(),resolve_device_id() 直接取 ZECTRIX_DEVICE_ID,
  不再调 GET /devices 列表
- jm_api.py 改为设备密钥授权(client_secret,免验证码),token 进程内缓存 + 401 重试
- 同步 CLAUDE.md / main.py 文档

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-29 15:25:36 +08:00
parent cc11dffb02
commit 3e0e6c73a1
7 changed files with 138 additions and 37 deletions

20
.env.example Normal file
View File

@@ -0,0 +1,20 @@
# eink-push 配置模板:复制为 .env 并填入真实值cp .env.example .env
# 真实环境变量cron/命令行注入)优先级高于 .env 文件。
# ---- Zectrix 极趣云平台 ----
ZECTRIX_API_KEY=zt_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 目标设备硬件 MAC必填——直接据此推送不再获取设备列表
ZECTRIX_DEVICE_ID=AA:BB:CC:DD:EE:FF
# ---- 橘喵 jm-devops 后端(设备密钥授权)----
JM_BASE_API=https://admin.jumiaotandian.com/prod-api
JM_CLIENT_ID=
JM_CLIENT_SECRET=
JM_GRANT_TYPE=client_secret
JM_TENANT_ID=000000
# ---- 和风天气QWeather----
QWEATHER_HOST=your-host.re.qweatherapi.com
QWEATHER_KEY=
WEATHER_LOCATION=118.788,32.014
WEATHER_TTL=900