app.dart 1.0 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import 'package:flutter/material.dart';
  2. import 'package:tdesign_flutter/tdesign_flutter.dart';
  3. import 'package:flutter_riverpod/flutter_riverpod.dart';
  4. import 'core/theme/app_theme.dart';
  5. import 'core/router/app_router.dart';
  6. import 'core/network/api_client.dart';
  7. import 'core/auth/auth_service.dart';
  8. final apiClientProvider = Provider<ApiClient>((ref) {
  9. const useMock = true;
  10. final client = ApiClient(
  11. baseUrl: 'https://your-api-host.com/api',
  12. useMock: useMock,
  13. );
  14. final authService = ref.read(authServiceProvider);
  15. client.setToken(authService.token);
  16. return client;
  17. });
  18. final authServiceProvider = Provider<AuthService>((ref) => AuthService());
  19. class App extends ConsumerWidget {
  20. const App({super.key});
  21. @override
  22. Widget build(BuildContext context, WidgetRef ref) {
  23. final router = createAppRouter();
  24. TDTheme.needMultiTheme();
  25. return MaterialApp.router(
  26. title: 'TBOSS OA',
  27. theme: AppTheme.light,
  28. routerConfig: router,
  29. debugShowCheckedModeBanner: false,
  30. );
  31. }
  32. }