(WIP) Add network test
- Network tested - Some UI updates
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:client/screens/mainMenu.dart';
|
||||
import 'package:client/theme.dart';
|
||||
import 'package:client/screens/networkDebug.dart';
|
||||
|
||||
Widget currentScreen = MainMenu();
|
||||
Widget currentScreen = NetworkDebug();
|
||||
void main() {
|
||||
|
||||
runApp(const MyApp());
|
||||
|
||||
34
client/lib/networkManager.dart
Normal file
34
client/lib/networkManager.dart
Normal file
@@ -0,0 +1,34 @@
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:shared/models/message.dart';
|
||||
|
||||
class NetworkManager {
|
||||
final String baseUrl = "https://msg.mr-potato.ru";
|
||||
|
||||
Future<void> send(Message message) async {
|
||||
final url = Uri.parse('$baseUrl/send');
|
||||
|
||||
print('Отправка запроса на $url...');
|
||||
|
||||
try {
|
||||
|
||||
final response = await http.post(
|
||||
url,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: message.toJson(),
|
||||
);
|
||||
|
||||
|
||||
if (response.statusCode == 200) {
|
||||
print('Сообщение успешно доставлено!');
|
||||
print('Ответ сервера: ${response.body}');
|
||||
} else {
|
||||
print('Ошибка сервера. Код: ${response.statusCode}');
|
||||
}
|
||||
} catch (e) {
|
||||
|
||||
print('Ошибка сети: $e');
|
||||
}
|
||||
}
|
||||
}
|
||||
30
client/lib/screens/networkDebug.dart
Normal file
30
client/lib/screens/networkDebug.dart
Normal file
@@ -0,0 +1,30 @@
|
||||
import 'package:client/networkManager.dart';
|
||||
import 'package:client/widgets/chatFoloders.dart';
|
||||
import 'package:client/widgets/chatItem.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:shared/models/message.dart';
|
||||
|
||||
class NetworkDebug extends StatelessWidget{
|
||||
|
||||
NetworkDebug({Key ?key});
|
||||
|
||||
NetworkManager net = NetworkManager();
|
||||
String message = 'NONE';
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final colors = Theme.of(context).colorScheme;
|
||||
return Scaffold(
|
||||
backgroundColor: colors.surface,
|
||||
body: Column(
|
||||
|
||||
children: [
|
||||
TextField(decoration: InputDecoration(label: Text('Message')), onChanged: (value) => (message = value),),
|
||||
TextButton(onPressed: () => net.send(Message(chatId: '123abc', msg: message)), child: Text('Send'))
|
||||
],
|
||||
),
|
||||
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -36,6 +36,7 @@ dependencies:
|
||||
# The following adds the Cupertino Icons font to your application.
|
||||
# Use with the CupertinoIcons class for iOS style icons.
|
||||
cupertino_icons: ^1.0.8
|
||||
http: ^1.6.0
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
||||
Reference in New Issue
Block a user