api_service.dart 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import '../data/model/SysConfig.dart';
  2. import 'dio_client.dart';
  3. class ApiService {
  4. static final ApiService _instance = ApiService._internal();
  5. final DioClient _dioClient = DioClient();
  6. factory ApiService() => _instance;
  7. ApiService._internal();
  8. Future<SysConfig> fetchSysConfig(String path) async {
  9. try {
  10. final Map<String, dynamic> data = await _dioClient.get(path);
  11. return SysConfig.fromJson(data);
  12. } catch (e) {
  13. throw Exception('Failed to fetch user: $e');
  14. }
  15. }
  16. Future<Map<String, dynamic>> fetchData(String path, {Map<String, dynamic>? queryParameters}) async {
  17. return await _dioClient.get(path, queryParameters: queryParameters);
  18. }
  19. Future<Map<String, dynamic>> createData(String path, {Map<String, dynamic>? data}) async {
  20. return await _dioClient.post(path, data: data);
  21. }
  22. Future<Map<String, dynamic>> updateData(String path, {Map<String, dynamic>? data}) async {
  23. return await _dioClient.put(path, data: data);
  24. }
  25. Future<void> downloadFile(String urlPath, String savePath) async {
  26. await _dioClient.download(urlPath, savePath);
  27. }
  28. }