초기 커밋
This commit is contained in:
55
lib/core/storage/local_storage.dart
Normal file
55
lib/core/storage/local_storage.dart
Normal file
@@ -0,0 +1,55 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
part 'local_storage.g.dart';
|
||||
|
||||
@Riverpod(keepAlive: true)
|
||||
LocalStorage localStorage(Ref ref) {
|
||||
return LocalStorage();
|
||||
}
|
||||
|
||||
class LocalStorage {
|
||||
Future<SharedPreferences> get _prefs async =>
|
||||
SharedPreferences.getInstance();
|
||||
|
||||
Future<void> setString(String key, String value) async {
|
||||
final prefs = await _prefs;
|
||||
await prefs.setString(key, value);
|
||||
}
|
||||
|
||||
Future<String?> getString(String key) async {
|
||||
final prefs = await _prefs;
|
||||
return prefs.getString(key);
|
||||
}
|
||||
|
||||
Future<void> setBool(String key, {required bool value}) async {
|
||||
final prefs = await _prefs;
|
||||
await prefs.setBool(key, value);
|
||||
}
|
||||
|
||||
Future<bool?> getBool(String key) async {
|
||||
final prefs = await _prefs;
|
||||
return prefs.getBool(key);
|
||||
}
|
||||
|
||||
Future<void> setInt(String key, int value) async {
|
||||
final prefs = await _prefs;
|
||||
await prefs.setInt(key, value);
|
||||
}
|
||||
|
||||
Future<int?> getInt(String key) async {
|
||||
final prefs = await _prefs;
|
||||
return prefs.getInt(key);
|
||||
}
|
||||
|
||||
Future<void> remove(String key) async {
|
||||
final prefs = await _prefs;
|
||||
await prefs.remove(key);
|
||||
}
|
||||
|
||||
Future<void> clear() async {
|
||||
final prefs = await _prefs;
|
||||
await prefs.clear();
|
||||
}
|
||||
}
|
||||
36
lib/core/storage/secure_storage.dart
Normal file
36
lib/core/storage/secure_storage.dart
Normal file
@@ -0,0 +1,36 @@
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
||||
import 'package:riverpod_annotation/riverpod_annotation.dart';
|
||||
|
||||
part 'secure_storage.g.dart';
|
||||
|
||||
@Riverpod(keepAlive: true)
|
||||
SecureStorage secureStorage(Ref ref) {
|
||||
return SecureStorage();
|
||||
}
|
||||
|
||||
class SecureStorage {
|
||||
static const _storage = FlutterSecureStorage(
|
||||
aOptions: AndroidOptions(encryptedSharedPreferences: true),
|
||||
);
|
||||
|
||||
Future<void> write({required String key, required String value}) async {
|
||||
await _storage.write(key: key, value: value);
|
||||
}
|
||||
|
||||
Future<String?> read({required String key}) async {
|
||||
return _storage.read(key: key);
|
||||
}
|
||||
|
||||
Future<void> delete({required String key}) async {
|
||||
await _storage.delete(key: key);
|
||||
}
|
||||
|
||||
Future<void> deleteAll() async {
|
||||
await _storage.deleteAll();
|
||||
}
|
||||
|
||||
Future<bool> containsKey({required String key}) async {
|
||||
return _storage.containsKey(key: key);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user