fix: 企微 API 通过代理绕过 IP 白名单限制,补充错误日志
- 新增 WECHAT_API_BASE_URL 配置项,支持企微 API 代理转发 - _send_message 增加 API 错误日志(errcode + errmsg) - _get_access_token 增加失败日志 - handle_text 不再为空,返回菜单引导提示 - 防重入触发时通知用户等待时间 - menu.py API 调用统一使用配置化的 base URL Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -92,6 +92,17 @@ class WeChatMessageHandler:
|
||||
return None
|
||||
|
||||
async def handle_text(self, content: str, from_user: str) -> str | None:
|
||||
"""文本消息:返回帮助提示"""
|
||||
help_text = (
|
||||
"请使用菜单操作:\n"
|
||||
"---\n"
|
||||
"📋 最新公告 - 获取最新公告\n"
|
||||
"📊 查询 → 监控配置/系统状态/今日工作日\n"
|
||||
"⚙️ 系统管理 → 立即爬取/同步节假日/AI 分析"
|
||||
)
|
||||
ok = await self.client.send_text(help_text, from_user)
|
||||
if not ok:
|
||||
logger.warning(f"发送帮助消息失败, touser={from_user}")
|
||||
return None
|
||||
|
||||
async def _handle_today_stats(self, from_user: str) -> str | None:
|
||||
@@ -128,7 +139,11 @@ class WeChatMessageHandler:
|
||||
async with _crawl_lock:
|
||||
now = time.monotonic()
|
||||
if now - _last_crawl_time < 60:
|
||||
remaining = int(60 - (now - _last_crawl_time))
|
||||
logger.info(f"爬取请求被忽略(防重入),距上次 {now - _last_crawl_time:.1f}s")
|
||||
await self.client.send_text(
|
||||
f"爬取任务进行中,请 {remaining} 秒后再试", from_user
|
||||
)
|
||||
return None
|
||||
_last_crawl_time = now
|
||||
|
||||
|
||||
Reference in New Issue
Block a user