From 0bde8c03a4b31d98e6b9409936069e32dec7e8bf Mon Sep 17 00:00:00 2001 From: 16337 <1633794139@qq.com> Date: Thu, 26 Mar 2026 13:24:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BC=81=E5=BE=AE=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E7=83=AD=E9=87=8D=E8=BD=BD=E5=90=8E=E4=B8=A2=E5=A4=B1?= =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit get_wechat_service() 增加 _initialized 检查, 未初始化时自动调用 init(settings.wechat), 避免 uvicorn 热重载后单例重建但未 init 导致 enabled=False。 --- app/services/wechat_service.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/services/wechat_service.py b/app/services/wechat_service.py index d72958c..103625c 100644 --- a/app/services/wechat_service.py +++ b/app/services/wechat_service.py @@ -32,6 +32,7 @@ class WeChatService: def __init__(self): self._enabled = False + self._initialized = False self._corp_id = "" self._agent_id = "" self._secret = "" @@ -46,6 +47,7 @@ class WeChatService: def init(self, config): """初始化企微配置""" + self._initialized = True self._enabled = config.enabled and bool(config.corp_id) and bool(config.secret) self._corp_id = config.corp_id self._agent_id = config.agent_id @@ -685,4 +687,7 @@ def get_wechat_service() -> WeChatService: global _wechat_service if _wechat_service is None: _wechat_service = WeChatService() + if not _wechat_service._initialized: + from app.config import settings + _wechat_service.init(settings.wechat) return _wechat_service