| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- 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<void> _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);
- }
- }
- }
- }
|