fix: 注册DevicePlugin到main.rs — 修复防息屏/光标功能失效(P0)

ScreenPlugin重构为thin wrapper后main.rs未注册DevicePlugin,
导致DeviceCommand消息无接收者。现在DevicePlugin在Screen之前注册。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
showen
2026-03-13 12:42:51 +08:00
parent 3729addb71
commit 29645d711d
3 changed files with 48 additions and 2 deletions

View File

@@ -5,7 +5,8 @@ use showen_v2::core::service_manager::ServiceManager;
#[cfg(not(test))]
use showen_v2::core::version_manager::VersionManager;
use showen_v2::plugins::{
ble::BlePlugin, http::HttpPlugin, screen::ScreenPlugin, video::VideoPlugin, wifi::WifiPlugin,
ble::BlePlugin, device::DevicePlugin, http::HttpPlugin, screen::ScreenPlugin,
video::VideoPlugin, wifi::WifiPlugin,
};
use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::Arc;
@@ -48,10 +49,13 @@ fn main() -> Result<()> {
let mut manager = ServiceManager::new(config);
// 按依赖顺序注册插件
// 独立插件screen, wifi, video, ble
// 独立插件:device, screen, wifi, video, ble
// 依赖插件http (依赖 video)
println!("注册插件...");
manager.register(Box::new(DevicePlugin::new_default()));
println!(" ✓ DevicePlugin");
manager.register(Box::new(ScreenPlugin::new()));
println!(" ✓ ScreenPlugin");