import 'package:dio/dio.dart'; import 'package:shared_preferences/shared_preferences.dart'; class ApiClient { static const String baseUrl = 'http://192.168.100.33:8090/api'; static final Dio _dio = Dio(BaseOptions( baseUrl: baseUrl, connectTimeout: const Duration(seconds: 10), receiveTimeout: const Duration(seconds: 15), headers: {'Content-Type': 'application/json'}, )) ..interceptors.add(_AuthInterceptor()); static Dio get instance => _dio; } class _AuthInterceptor extends Interceptor { @override void onRequest(RequestOptions options, RequestInterceptorHandler handler) async { final prefs = await SharedPreferences.getInstance(); final token = prefs.getString('jwt_token'); if (token != null) { options.headers['Authorization'] = 'Bearer $token'; } handler.next(options); } @override void onError(DioException err, ErrorInterceptorHandler handler) { handler.next(err); } }