DevTools
Подключение и защита диагностических данных
Установите расширение, подключите его к службе VM и откройте только заведомо безопасные прикладные значения.
Подключение и защита диагностических данных
Добавьте пакет разработки
dev_dependencies:
usecase_forge_devtools: ^0.1.0-dev.3
Получите зависимости, запустите Dart- или Flutter-приложение в режиме разработки со службой VM, откройте для него DevTools и выберите UseCase Forge. Вызывать initialize() в приложении не требуется.
Продуктовые и релизные сборки не открывают этот канал. Расширение предназначено для наблюдения во время разработки, а не для производственного мониторинга.
Читайте экран выполнения
Обзор показывает живые UseCase, зарегистрированные точные типы команд, текущую позицию жизненного цикла, конечную историю, отклонения, отмену и маршрутизацию ошибок. Он не может добавлять команды, отменять выполнения, менять состояние, повторять работу или изменять политики.
По умолчанию скрывайте прикладные значения
Технические метаданные жизненного цикла доступны автоматически. Содержимое состояния, поля команд, ключи, объекты ошибок, трассировки стека и подробности отклонений скрыты, пока приложение явно не преобразует выбранные значения.
import 'package:usecase_forge/diagnostics.dart';
final class CartUseCase extends UseCase<CartState>
with UseCaseDiagnosticsDataProvider {
@override
String get useCaseDiagnosticLabel => 'Shopping cart';
@override
Object? encodeUseCaseDiagnosticValue(
UseCaseDiagnosticValueKind kind,
Object? value,
) {
if (kind == UseCaseDiagnosticValueKind.state && value is CartState) {
return <String, Object?>{'itemCount': value.itemCount};
}
return null;
}
}
Возвращайте только ограниченные данные, совместимые с JSON и безопасные для отображения. null оставляет значение скрытым. Не раскрывайте учётные данные, токены, персональные данные, полное содержимое объектов или неограниченный результат toString().
Если экран пуст
- Убедитесь, что пакет указан в прямых зависимостях для разработки проверяемого приложения.
- После получения зависимостей перезапустите приложение и DevTools.
- Подключите DevTools к активной службе VM; прямое открытие собранного
index.htmlне поддерживается. - Используйте сборку для разработки и создайте хотя бы один активный UseCase.
- Проверьте совместимость версий протокола основного пакета и DevTools.