From 74632770f5791e700bac8a7d0e51192075ff3a21 Mon Sep 17 00:00:00 2001 From: Songzex <2402265378@qq.com> Date: Wed, 25 Feb 2026 14:53:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=B2=A1=E6=9C=89=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E5=80=99=E9=A6=96=E9=A1=B5=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E4=B8=AD=E7=9A=84=E4=B8=8D=E5=8F=8B=E5=A5=BD?= =?UTF-8?q?=E5=B1=95=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/presentation/pages/home_page.dart | 35 ++++++++++++++++--- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/lib/features/home/presentation/pages/home_page.dart b/lib/features/home/presentation/pages/home_page.dart index bfe4f9b1..90e7b5b1 100644 --- a/lib/features/home/presentation/pages/home_page.dart +++ b/lib/features/home/presentation/pages/home_page.dart @@ -3,6 +3,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:maibu_satabot_v2/core/app/app_user_cubit.dart'; import 'package:maibu_satabot_v2/features/devices/presentation/bloc/devices_cubit.dart'; +import '../../../devices/domain/entities/device_entity.dart'; import '../widgets/ImmersionHeader.dart'; import '../widgets/quick_actions_grid.dart'; import '../widgets/work_params_card.dart'; @@ -16,10 +17,34 @@ class HomePage extends StatelessWidget { final userState = context.watch().state; final deviceState = context.watch().state; final currentDevice = deviceState.selectedDevice; + final defaultDevice = DeviceEntity(deviceName: '暂未绑定设备', + productId: 00000, + productName: '', tenantId: 00000, tenantName: ''); // 创建默认实例 在没有绑定设备时,使用默认设备 + // 如果没有绑定设备,展示未绑定设备的提示页面 + if (currentDevice == null) { + return Scaffold( + backgroundColor: const Color(0xFFF7F7F7), + body: CustomScrollView( + physics: const BouncingScrollPhysics(), + slivers: [ - if (currentDevice == null) - return const Scaffold(body: Center(child: Text("加载中..."))); + SliverToBoxAdapter(child: ImmersionHeader(device: defaultDevice)), + + // 2. 功能网格(保持原有逻辑) + const SliverToBoxAdapter(child: QuickActionsGrid()), + + // 3. 作业参数卡片(显示未绑定设备提示) + const SliverToBoxAdapter(child: WorkParamsCard()), + + // 4. 地图区域占位 + const SliverToBoxAdapter(child: SizedBox(height: 120)), + ], + ), + ); + } + + // 如果有绑定设备,正常展示页面 return Scaffold( backgroundColor: const Color(0xFFF7F7F7), body: CustomScrollView( @@ -28,17 +53,17 @@ class HomePage extends StatelessWidget { // 1. 沉浸式顶部展示区 SliverToBoxAdapter(child: ImmersionHeader(device: currentDevice)), - // 2. 功能网格(保持原有逻辑,但背景建议改为纯白) + // 2. 功能网格 const SliverToBoxAdapter(child: QuickActionsGrid()), // 3. 作业参数卡片 SliverToBoxAdapter(child: WorkParamsCard()), - // 4. 地图区域 - // SliverToBoxAdapter(child: _buildMapSection()), + // 4. 地图区域占位 const SliverToBoxAdapter(child: SizedBox(height: 120)), ], ), ); } + }