repair add makanan page, addes socket io client for real time update data, added table status change page
This commit is contained in:
@ -6,7 +6,7 @@ import '../app/app.logger.dart';
|
||||
class MyHttpServices {
|
||||
final log = getLogger('MyHttpServices');
|
||||
final _options = BaseOptions(
|
||||
baseUrl: dotenv.env['api_url']!,
|
||||
baseUrl: dotenv.env['url']!,
|
||||
connectTimeout: const Duration(seconds: 120),
|
||||
receiveTimeout: const Duration(seconds: 120),
|
||||
);
|
||||
@ -20,14 +20,22 @@ class MyHttpServices {
|
||||
Future<Response> get(String path) async {
|
||||
try {
|
||||
return await _dio.get(path);
|
||||
} on DioException {
|
||||
} on DioException catch (e) {
|
||||
log.e('error : $e');
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
Future<Response> postWithFormData(String path, FormData formData) async {
|
||||
try {
|
||||
return await _dio.post(path, data: formData);
|
||||
return await _dio.post(
|
||||
path,
|
||||
data: formData,
|
||||
// method="POST" enctype="multipart/form-data">
|
||||
options: Options(
|
||||
contentType: 'multipart/form-data',
|
||||
),
|
||||
);
|
||||
} on DioException {
|
||||
rethrow;
|
||||
}
|
||||
|
@ -9,7 +9,7 @@ class MyEasyLoading {
|
||||
);
|
||||
}
|
||||
|
||||
dismissLoading() {
|
||||
dismiss() {
|
||||
EasyLoading.dismiss();
|
||||
}
|
||||
|
||||
|
48
lib/services/my_socket_io_client.dart
Normal file
48
lib/services/my_socket_io_client.dart
Normal file
@ -0,0 +1,48 @@
|
||||
import 'package:flutter_dotenv/flutter_dotenv.dart';
|
||||
import 'package:socket_io_client/socket_io_client.dart';
|
||||
|
||||
import '../app/app.logger.dart';
|
||||
|
||||
class MySocketIoClient {
|
||||
final log = getLogger('MySocketIoClient');
|
||||
final String _url = dotenv.env['url']!;
|
||||
static final MySocketIoClient _instance = MySocketIoClient._internal();
|
||||
factory MySocketIoClient() => _instance;
|
||||
MySocketIoClient._internal();
|
||||
|
||||
late Socket _socket;
|
||||
Socket get socket => _socket;
|
||||
|
||||
Future<void> init() async {
|
||||
try {
|
||||
_socket = io(_url, <String, dynamic>{
|
||||
'transports': ['websocket'],
|
||||
'autoConnect': false,
|
||||
});
|
||||
_socket.connect();
|
||||
log.i('socket connected');
|
||||
} catch (e) {
|
||||
log.e('error : $e');
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> emit(String event, dynamic data) async {
|
||||
_socket.emit(event, data);
|
||||
}
|
||||
|
||||
Future<void> on(String event, Function(dynamic) callback) async {
|
||||
_socket.on(event, callback);
|
||||
}
|
||||
|
||||
Future<void> off(String event) async {
|
||||
_socket.off(event);
|
||||
}
|
||||
|
||||
Future<void> disconnect() async {
|
||||
_socket.disconnect();
|
||||
}
|
||||
|
||||
Future<void> connect() async {
|
||||
_socket.connect();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user