24 lines
888 B
Dart
24 lines
888 B
Dart
|
import 'dart:convert';
|
|||
|
import 'package:http/http.dart' as http;
|
|||
|
import 'character.dart';
|
|||
|
|
|||
|
const String baseUrl = 'http://192.168.1.83:5000'; // IP-адрес вместо localhost
|
|||
|
|
|||
|
class CharacterService {
|
|||
|
Future<List<Character>> getCharacters({String search = ''}) async {
|
|||
|
try {
|
|||
|
final response = await http.get(Uri.parse('$baseUrl/characters?search=$search'));
|
|||
|
|
|||
|
if (response.statusCode == 200) {
|
|||
|
final List<dynamic> data = json.decode(response.body);
|
|||
|
return data.map((item) => Character.fromJson(item)).toList();
|
|||
|
} else {
|
|||
|
throw Exception('Ошибка загрузки данных с сервера. Статус: ${response.statusCode}');
|
|||
|
}
|
|||
|
} catch (e) {
|
|||
|
print('Ошибка при получении данных: $e');
|
|||
|
throw Exception('Не удалось загрузить персонажей');
|
|||
|
}
|
|||
|
}
|
|||
|
}
|