| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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<AuthService>(
- 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(),
- },
- ),
- );
- }
- }
|