| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 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';
- import 'pages/patrol/task_list_page.dart';
- import 'pages/patrol/task_detail_page.dart';
- import 'pages/patrol/track_page.dart';
- import 'pages/revenue/meter_reading_page.dart';
- import 'pages/revenue/billing_page.dart';
- import 'pages/revenue/payment_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(),
- // 巡检管理
- '/patrol/tasks': (context) => const TaskListPage(),
- // 营收管理
- '/revenue/meter-reading': (context) => const MeterReadingPage(),
- '/revenue/billing': (context) => const BillingPage(),
- '/revenue/payment': (context) => const PaymentPage(),
- },
- ),
- );
- }
- }
|