refactor(sleep): 重构睡眠管理系统,移除桥接模式
将 `SleepManager` 从 `schedule_bridge` 中独立出来,使其成为一个自包含的组件。现在由 `HeartFChatting` 和 `ScheduleManager` 直接实例化和使用 `SleepManager`,移除了原有的全局单例桥接器。 主要变更: - 删除了 `schedule_bridge.py`,其功能被直接整合到 `SleepManager` 和调用方中。 - `SleepManager` 内部逻辑被拆分为更小的模块,如 `TimeChecker`、`NotificationSender` 和 `SleepStateSerializer`,以提高内聚性和可测试性。 - `HeartFChatting` 现在直接创建并管理 `SleepManager` 实例,并通过 `HfcContext` 传递给其他需要的组件(如 `WakeUpManager`)。 - `ScheduleManager` 也创建自己的 `SleepManager` 实例来更新日程,简化了依赖关系。 - 简化了 `WakeUpManager` 中获取睡眠状态和重置状态的逻辑,直接通过上下文访问 `SleepManager`。
This commit is contained in:
@@ -10,6 +10,7 @@ if TYPE_CHECKING:
|
||||
from .sleep_manager.wakeup_manager import WakeUpManager
|
||||
from .energy_manager import EnergyManager
|
||||
from .heartFC_chat import HeartFChatting
|
||||
from .sleep_manager.sleep_manager import SleepManager
|
||||
|
||||
|
||||
class HfcContext:
|
||||
@@ -61,6 +62,7 @@ class HfcContext:
|
||||
# 唤醒度管理器 - 延迟初始化以避免循环导入
|
||||
self.wakeup_manager: Optional["WakeUpManager"] = None
|
||||
self.energy_manager: Optional["EnergyManager"] = None
|
||||
self.sleep_manager: Optional["SleepManager"] = None
|
||||
|
||||
self.focus_energy = 1
|
||||
self.no_reply_consecutive = 0
|
||||
|
||||
Reference in New Issue
Block a user