mirror of
https://github.com/smmarty/friflex_flutter_starter.git
synced 2025-12-22 09:30:45 +00:00
feat(debug): Добавить экраны отладки для плагинов
This commit is contained in:
@@ -2,3 +2,4 @@ library;
|
||||
|
||||
export 'src/app_path_provider.dart';
|
||||
export 'src/app_secure_storage.dart';
|
||||
export 'src/app_url_launcher.dart';
|
||||
|
||||
@@ -11,6 +11,8 @@ class AppPathProvider implements IPathProvider {
|
||||
/// Наименование сервиса
|
||||
static const name = 'AuroraAppPathProvider';
|
||||
|
||||
String get nameImpl => AppPathProvider.name;
|
||||
|
||||
@override
|
||||
Future<String> getAppDocumentsDirectoryPath() async {
|
||||
return (await getApplicationDocumentsDirectory()).path;
|
||||
|
||||
@@ -15,11 +15,15 @@ final class AppSecureStorage implements ISecureStorage {
|
||||
FlutterSecureStorageAurora.setSecret(secretKey);
|
||||
}
|
||||
|
||||
/// Наименование сервиса
|
||||
static const name = 'AuroraAppSecureStorage';
|
||||
|
||||
@override
|
||||
String get nameImpl => AppSecureStorage.name;
|
||||
|
||||
@override
|
||||
final String secretKey;
|
||||
|
||||
static const name = 'AuroraAppSecureStorage';
|
||||
|
||||
/// Экземпляр хранилища данных
|
||||
final _box = const FlutterSecureStorage();
|
||||
|
||||
@@ -47,7 +51,4 @@ final class AppSecureStorage implements ISecureStorage {
|
||||
Future<void> write(String key, String value) async {
|
||||
await _box.write(key: key, value: value);
|
||||
}
|
||||
|
||||
@override
|
||||
String get nameImpl => AppSecureStorage.name;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
import 'package:i_app_services/i_app_services.dart';
|
||||
import 'package:url_launcher/url_launcher.dart' as url_launcher;
|
||||
|
||||
/// {@template app_url_launcher}
|
||||
/// Класс для Аврора реализации сервиса работы с URL
|
||||
/// {@endtemplate}
|
||||
class AppUrlLauncher implements IUrlLauncher {
|
||||
/// {@macro app_url_launcher}
|
||||
AppUrlLauncher();
|
||||
|
||||
/// Наименование сервиса
|
||||
static const String name = 'AuroraAppUrlLauncher';
|
||||
|
||||
@override
|
||||
String get nameImpl => AppUrlLauncher.name;
|
||||
|
||||
@override
|
||||
Future<bool> canLaunchUrl(Uri url) async {
|
||||
return url_launcher.canLaunchUrl(url);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<bool> launchUrl(Uri url) async {
|
||||
return url_launcher.launchUrl(url);
|
||||
}
|
||||
}
|
||||
@@ -17,9 +17,12 @@ dependencies:
|
||||
url: https://gitlab.com/omprussia/flutter/flutter-community-plugins/flutter_secure_storage_aurora.git
|
||||
ref: aurora-0.5.3
|
||||
|
||||
# для работы с путями (плагин встроен в sdk flutter 3.27.1)
|
||||
# Зависимости для работы с путями (плагин встроен в sdk flutter 3.27.3)
|
||||
path_provider: 2.1.5
|
||||
|
||||
# Зависимости для работы с открытием ссылок (плагин встроен в sdk flutter 3.27.3)
|
||||
url_launcher: 6.3.1
|
||||
|
||||
# Обязательные интерфейсы
|
||||
i_app_services:
|
||||
path: ../../i_app_services
|
||||
|
||||
@@ -2,3 +2,4 @@ library;
|
||||
|
||||
export 'src/app_path_provider.dart';
|
||||
export 'src/app_secure_storage.dart';
|
||||
export 'src/app_url_launcher.dart';
|
||||
|
||||
@@ -11,6 +11,9 @@ class AppPathProvider implements IPathProvider {
|
||||
/// Наименование сервиса
|
||||
static const name = 'BaseAppPathProvider';
|
||||
|
||||
@override
|
||||
String get nameImpl => AppPathProvider.name;
|
||||
|
||||
@override
|
||||
Future<String> getAppDocumentsDirectoryPath() async {
|
||||
return (await getApplicationDocumentsDirectory()).path;
|
||||
|
||||
@@ -11,12 +11,15 @@ final class AppSecureStorage implements ISecureStorage {
|
||||
/// {@macro app_secure_storage}
|
||||
AppSecureStorage({this.secretKey});
|
||||
|
||||
@override
|
||||
final String? secretKey;
|
||||
|
||||
/// Наименование сервиса
|
||||
static const name = 'BaseAppSecureStorage';
|
||||
|
||||
@override
|
||||
String get nameImpl => AppSecureStorage.name;
|
||||
|
||||
@override
|
||||
final String? secretKey;
|
||||
|
||||
/// Экземпляр хранилища данных
|
||||
final _box = const FlutterSecureStorage();
|
||||
|
||||
@@ -44,7 +47,4 @@ final class AppSecureStorage implements ISecureStorage {
|
||||
Future<void> write(String key, String value) async {
|
||||
await _box.write(key: key, value: value);
|
||||
}
|
||||
|
||||
@override
|
||||
String get nameImpl => AppSecureStorage.name;
|
||||
}
|
||||
|
||||
26
app_services/base/app_services/lib/src/app_url_launcher.dart
Normal file
26
app_services/base/app_services/lib/src/app_url_launcher.dart
Normal file
@@ -0,0 +1,26 @@
|
||||
import 'package:i_app_services/i_app_services.dart';
|
||||
import 'package:url_launcher/url_launcher.dart' as url_launcher;
|
||||
|
||||
/// {@template app_url_launcher}
|
||||
/// Класс для базовой реализации сервиса работы с URL
|
||||
/// {@endtemplate}
|
||||
class AppUrlLauncher implements IUrlLauncher {
|
||||
/// {@macro app_url_launcher}
|
||||
AppUrlLauncher();
|
||||
|
||||
/// Наименование сервиса
|
||||
static const String name = 'BaseAppUrlLauncher';
|
||||
|
||||
@override
|
||||
String get nameImpl => AppUrlLauncher.name;
|
||||
|
||||
@override
|
||||
Future<bool> canLaunchUrl(Uri url) async {
|
||||
return url_launcher.canLaunchUrl(url);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<bool> launchUrl(Uri url) async {
|
||||
return url_launcher.launchUrl(url);
|
||||
}
|
||||
}
|
||||
@@ -19,6 +19,9 @@ dependencies:
|
||||
# для работы с путями в хранилища
|
||||
path_provider: 2.1.5
|
||||
|
||||
# Зависимости для сервиса внешних ссылок
|
||||
url_launcher: 6.3.1
|
||||
|
||||
# Обязательные интерфейсы
|
||||
i_app_services:
|
||||
path: ../../i_app_services
|
||||
|
||||
@@ -2,3 +2,4 @@ library;
|
||||
|
||||
export 'src/i_path_provider.dart';
|
||||
export 'src/i_secure_storage.dart';
|
||||
export 'src/i_url_launcher.dart';
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
/// Класс для описания интерфейса сервиса
|
||||
/// для получения пути хранения файлов
|
||||
/// Класс для описания интерфейса сервиса для получения пути хранения файлов
|
||||
abstract interface class IPathProvider {
|
||||
/// Наименования интерфейса
|
||||
static const name = 'IPathProvider';
|
||||
|
||||
/// Получение имени имплементации
|
||||
String get nameImpl;
|
||||
|
||||
/// Получение path на внутренне хранилище приложения
|
||||
Future<String?> getAppDocumentsDirectoryPath();
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/// Класс интерфейса для работы с защищенным хранилищем
|
||||
/// Класс для описания интерфейса для работы с защищенным хранилищем
|
||||
abstract interface class ISecureStorage {
|
||||
/// Описывает обязательные параметры имплементаций
|
||||
///
|
||||
@@ -6,14 +6,17 @@ abstract interface class ISecureStorage {
|
||||
/// - [secretKey] - секретный ключ для шифрования данных
|
||||
const ISecureStorage._({required this.secretKey});
|
||||
|
||||
/// Наименования интерфейса
|
||||
static const name = 'ISecureStorage';
|
||||
|
||||
/// Получение имени имплементации
|
||||
String get nameImpl;
|
||||
|
||||
/// Секретный ключ для шифрования данных
|
||||
/// Нужен, если надо передать ключ в реализацию
|
||||
/// например, в Aurora
|
||||
final String? secretKey;
|
||||
|
||||
/// Наименования интерфейса
|
||||
static const name = 'ISecureStorage';
|
||||
|
||||
/// Метод для получения значения из защищенного хранилища
|
||||
///
|
||||
/// Принимает:
|
||||
@@ -41,6 +44,4 @@ abstract interface class ISecureStorage {
|
||||
/// Принимает:
|
||||
/// - [key] - ключ
|
||||
Future<bool> containsKey(String key);
|
||||
|
||||
String get nameImpl;
|
||||
}
|
||||
|
||||
18
app_services/i_app_services/lib/src/i_url_launcher.dart
Normal file
18
app_services/i_app_services/lib/src/i_url_launcher.dart
Normal file
@@ -0,0 +1,18 @@
|
||||
/// Класс для описания интерфейса сервиса для запуска URL
|
||||
abstract interface class IUrlLauncher {
|
||||
/// Наименования интерфейса
|
||||
static const name = 'IUrlLauncher';
|
||||
|
||||
/// Получение имени имплементации
|
||||
String get nameImpl;
|
||||
|
||||
/// Метод для проверки возможности запуска ссылки
|
||||
///
|
||||
/// - [url] - ссылка для проверки
|
||||
Future<bool> canLaunchUrl(Uri url);
|
||||
|
||||
/// Метод для запуска ссылки
|
||||
///
|
||||
/// - [url] - ссылка для запуска
|
||||
Future<bool> launchUrl(Uri url);
|
||||
}
|
||||
Reference in New Issue
Block a user