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('Не удалось загрузить персонажей');
|
||
}
|
||
}
|
||
}
|