diff --git a/src/core/service_manager.rs b/src/core/service_manager.rs index 7c4facc..48adb1a 100644 --- a/src/core/service_manager.rs +++ b/src/core/service_manager.rs @@ -128,7 +128,17 @@ impl ServiceManager { } Message::ConfigReloadRequest => { println!("[ServiceManager] 收到配置重载请求"); - // TODO: 重载配置并广播 ConfigReloaded + match AppConfig::from_file(&self.config.source_path) { + Ok(new_config) => { + let new_config = Arc::new(new_config); + self.config = Arc::clone(&new_config); + println!("[ServiceManager] 配置重载成功,广播 ConfigReloaded"); + self.broadcast_message(Message::ConfigReloaded(new_config)); + } + Err(e) => { + eprintln!("[ServiceManager] 配置重载失败: {}", e); + } + } } Message::PluginReady(id) => { println!("[ServiceManager] 插件 '{}' 就绪", id);