feat(device): 启动自动连接 USB 串口 + 隐藏设置页配置项 + 标题栏连接状态

- 新增 AutoSerialConnect 服务:启动后自动连接第一个 USB 串口设备,
  固定 115200/8/N/1,连接失败时每 3s 重试,断开后重新进入重试循环
- main.dart 通过 ProviderContainer 在 runApp 之前触发 autoSerialConnectProvider
- 移除设置页「串口配置」菜单项及对应面板分支
- StatusBar 在「设备运行状态」前增加串口连接状态指示(已连接/连接中/未连接)
This commit is contained in:
Developer
2026-06-04 16:57:45 +08:00
parent 3ab2232845
commit 37d2af70b7
5 changed files with 186 additions and 12 deletions

View File

@@ -5,11 +5,10 @@ import '../../../core/theme/app_theme.dart';
import '../../../shared/widgets/common_button.dart';
import '../widgets/language_panel.dart';
import '../widgets/password_panel.dart';
import '../widgets/serial_config_panel.dart';
import '../widgets/usb_import_panel.dart';
/// 设置页菜单
enum _SettingsMenu { upgrade, language, password, usbImport, serialConfig }
enum _SettingsMenu { upgrade, language, password, usbImport }
/// 系统设置页面
class SettingsPage extends ConsumerStatefulWidget {
@@ -70,14 +69,6 @@ class _SettingsPageState extends ConsumerState<SettingsPage> {
onTap: () => setState(
() => _currentMenu = _SettingsMenu.upgrade),
),
// 串口配置
_buildMenuItem(
icon: Icons.settings_input_hdmi,
title: '串口配置',
selected: _currentMenu == _SettingsMenu.serialConfig,
onTap: () => setState(
() => _currentMenu = _SettingsMenu.serialConfig),
),
// 语言设置
_buildMenuItem(
icon: Icons.language,
@@ -127,7 +118,6 @@ class _SettingsPageState extends ConsumerState<SettingsPage> {
Widget _buildContent() {
return switch (_currentMenu) {
_SettingsMenu.serialConfig => const SerialConfigPanel(),
_SettingsMenu.language => const LanguagePanel(),
_SettingsMenu.password => const PasswordPanel(),
_SettingsMenu.usbImport => const UsbImportPanel(),