import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import 'services/auth_service.dart'; import 'services/api_service.dart'; import 'pages/login/login_page.dart'; import 'pages/home/home_page.dart'; import 'pages/water/monitor_page.dart'; import 'pages/water/alert_page.dart'; import 'pages/water/dispatch_page.dart'; import 'pages/water/quality_page.dart'; void main() async { WidgetsFlutterBinding.ensureInitialized(); // 初始化 AuthService 并恢复登录态 final authService = AuthService(); await authService.init(); // 初始化全局 HTTP 客户端 ApiService.instance.init(authService); runApp(WaterApp(authService: authService)); } class WaterApp extends StatelessWidget { final AuthService authService; const WaterApp({super.key, required this.authService}); @override Widget build(BuildContext context) { return ChangeNotifierProvider.value( value: authService, child: MaterialApp( title: '智慧水务', debugShowCheckedModeBanner: false, theme: ThemeData( colorSchemeSeed: const Color(0xFF1976D2), useMaterial3: true, brightness: Brightness.light, ), darkTheme: ThemeData( colorSchemeSeed: const Color(0xFF1976D2), useMaterial3: true, brightness: Brightness.dark, ), themeMode: ThemeMode.system, initialRoute: '/', routes: { '/': (context) => Consumer( builder: (_, auth, __) => auth.isLoggedIn ? const HomePage() : const LoginPage(), ), '/water/monitor': (context) => const MonitorPage(), '/water/alert': (context) => const AlertPage(), '/water/dispatch': (context) => const DispatchPage(), '/water/quality': (context) => const QualityPage(), }, ), ); } }