mirror of
https://github.com/smmarty/friflex_flutter_starter.git
synced 2026-02-05 11:42:17 +00:00
refactor(full refactor): Рефакторинг стартера (#8)
This commit is contained in:
@@ -1,19 +1,57 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:friflex_starter/features/debug/i_debug_service.dart';
|
||||
import 'package:talker_bloc_logger/talker_bloc_logger_observer.dart';
|
||||
import 'package:talker_dio_logger/talker_dio_logger_interceptor.dart';
|
||||
import 'package:talker_flutter/talker_flutter.dart';
|
||||
|
||||
/// Класс реализации интерфейса Debug сервиса
|
||||
/// {@template debug_service}
|
||||
/// Реализация сервиса отладки, с помощью Talker
|
||||
/// {@endtemplate}
|
||||
class DebugService implements IDebugService {
|
||||
/// {@macro debug_service}
|
||||
DebugService() {
|
||||
_talker = TalkerFlutter.init();
|
||||
_talkerDioLogger = TalkerDioLogger(talker: _talker);
|
||||
_talkerRouteObserver = TalkerRouteObserver(_talker);
|
||||
_talkerBlocObserver = TalkerBlocObserver(talker: _talker);
|
||||
}
|
||||
|
||||
/// Наименование сервиса
|
||||
static const name = 'DebugService';
|
||||
|
||||
@override
|
||||
void logDebug(Object message, {Object? logLevel, Map<String, dynamic>? args}) {
|
||||
if (kDebugMode) {
|
||||
print('Message: $message');
|
||||
}
|
||||
/// Реализация Talker
|
||||
late final Talker _talker;
|
||||
|
||||
/// Реализация логики
|
||||
/// Реализация TalkerDioLogger
|
||||
late final TalkerDioLogger _talkerDioLogger;
|
||||
|
||||
/// Реализация TalkerRouteObserver
|
||||
late final TalkerRouteObserver _talkerRouteObserver;
|
||||
|
||||
/// Реализация TalkerBlocLoggerObserver
|
||||
late final TalkerBlocObserver _talkerBlocObserver;
|
||||
|
||||
/// Получает TalkerDioLoggerInterceptor
|
||||
@override
|
||||
TalkerDioLogger get dioLogger => _talkerDioLogger;
|
||||
|
||||
/// Получает TalkerRouteObserver\
|
||||
@override
|
||||
TalkerRouteObserver get routeObserver => _talkerRouteObserver;
|
||||
|
||||
/// Получает TalkerBlocObserver
|
||||
@override
|
||||
TalkerBlocObserver get blocObserver => _talkerBlocObserver;
|
||||
|
||||
@override
|
||||
void logDebug(
|
||||
Object message, {
|
||||
Object? logLevel,
|
||||
Map<String, dynamic>? args,
|
||||
}) {
|
||||
_talker.debug(
|
||||
message is Function ? Function.apply(message, []) as Object : message,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -24,43 +62,34 @@ class DebugService implements IDebugService {
|
||||
Map<String, dynamic>? args,
|
||||
StackTrace? stackTrace,
|
||||
}) {
|
||||
final logMessage = message is Function ? Function.apply(message, []) as Object : message;
|
||||
if (kDebugMode) {
|
||||
print('Message: $logMessage');
|
||||
print('Error: $error');
|
||||
print('StackTrace: $stackTrace');
|
||||
}
|
||||
|
||||
/// Реализация логики
|
||||
final logMessage =
|
||||
message is Function ? Function.apply(message, []) as Object : message;
|
||||
_talker.error(logMessage, error, stackTrace);
|
||||
}
|
||||
|
||||
@override
|
||||
void log(Object message, {Object? logLevel, Map<String, dynamic>? args}) {
|
||||
final logMessage = message is Function ? Function.apply(message, []) as Object : message;
|
||||
if (kDebugMode) {
|
||||
print('Message: $logMessage');
|
||||
}
|
||||
|
||||
/// Реализация логики
|
||||
final logMessage =
|
||||
message is Function ? Function.apply(message, []) as Object : message;
|
||||
_talker.log(logMessage);
|
||||
}
|
||||
|
||||
@override
|
||||
void logWarning(Object message, {Object? logLevel, Map<String, dynamic>? args}) {
|
||||
final logMessage = message is Function ? Function.apply(message, []) as Object : message;
|
||||
if (kDebugMode) {
|
||||
print('Message: $logMessage');
|
||||
}
|
||||
|
||||
/// Реализация логики
|
||||
void logWarning(
|
||||
Object message, {
|
||||
Object? logLevel,
|
||||
Map<String, dynamic>? args,
|
||||
}) {
|
||||
final logMessage =
|
||||
message is Function ? Function.apply(message, []) as Object : message;
|
||||
_talker.warning(logMessage);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<T?> openDebugScreen<T>(BuildContext context, {bool useRootNavigator = false}) {
|
||||
if (kDebugMode) {
|
||||
print('Переход на страницу отладки');
|
||||
}
|
||||
|
||||
/// Реализация логики
|
||||
return Future.value();
|
||||
Future<void> openDebugScreen(BuildContext context,
|
||||
{bool useRootNavigator = false,}) async {
|
||||
await Navigator.of(context).push(
|
||||
MaterialPageRoute(builder: (context) => TalkerScreen(talker: _talker)),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user