| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import 'package:chicken_farm/core/config/app_config.dart';
- import 'package:chicken_farm/core/utils/loading.dart';
- import 'package:chicken_farm/routes/route_provider.dart';
- import 'package:chicken_farm/core/services/sync_service.dart';
- import 'package:chicken_farm/core/services/connectivity_service.dart';
- import 'package:flutter/material.dart';
- import 'package:flutter_riverpod/flutter_riverpod.dart';
- void main() async {
- WidgetsFlutterBinding.ensureInitialized();
- await AppConfig.init(); // 初始化配置
-
- final container = ProviderContainer();
- // 初始化LoadingUtil
- LoadingUtil.init(container);
-
- // 初始化同步服务
- final syncService = SyncService();
- syncService.startAutoSync();
-
- runApp(
- ProviderScope(
- child: MyApp(),
- ),
- );
- }
- class MyApp extends ConsumerWidget {
- const MyApp({super.key});
- @override
- Widget build(BuildContext context, WidgetRef ref) {
- final goRouter = ref.watch(goRouterProvider);
-
- // 监听网络状态变化,如果变为连接状态则尝试同步
- ref.listen(isConnectedProvider, (_, snapshot) {
- snapshot.when(
- data: (data) {
- if (data == true) {
- // 网络恢复,尝试同步离线数据
- final syncService = SyncService();
- syncService.syncPendingOperations();
- }
- },
- loading: () => null,
- error: (error, stackTrace) => null,
- );
- });
- return MaterialApp.router(
- title: 'Chicken Farm',
- debugShowCheckedModeBanner: false,
- theme: ThemeData(
- useMaterial3: true,
- colorScheme: ColorScheme.fromSeed(seedColor: Colors.green),
- ),
- routerConfig: goRouter,
- );
- }
- }
|