import 'package:chicken_farm/core/services/connectivity_service.dart'; import 'package:chicken_farm/core/services/offline_storage_service.dart'; import 'package:chicken_farm/routes/app_routes.dart'; import 'package:chicken_farm/routes/route_provider.dart'; import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:go_router/go_router.dart'; class VberApp extends ConsumerWidget { const VberApp({super.key}); @override Widget build(BuildContext context, WidgetRef ref) { final goRouter = ref.watch(goRouterProvider); // 只在应用启动时检查是否需要上传数据 WidgetsBinding.instance.addPostFrameCallback((_) { _checkAndNavigateToUpload(goRouter); }); return MaterialApp.router( title: '养殖场管理系统', debugShowCheckedModeBanner: false, theme: ThemeData( useMaterial3: true, colorScheme: ColorScheme.fromSeed(seedColor: Colors.green), ), routerConfig: goRouter, ); } // 检查是否有待上传数据,如果有则导航到上传页面 Future _checkAndNavigateToUpload(GoRouter goRouter) async { final container = ProviderContainer(); final isConnected = await container.read(isConnectedProvider.future); if (isConnected) { final storageService = OfflineStorageService(); final pendingOperations = await storageService.getPendingOperations(); if (pendingOperations.isNotEmpty) { // 使用GoRouter进行导航 goRouter.pushNamed(AppRouteNames.upload); } } } }