storage_handler.dart
1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import 'package:appframe/config/locator.dart';
import 'package:appframe/services/dispatcher.dart';
import 'package:shared_preferences/shared_preferences.dart';
class SetStorageSyncHandler extends MessageHandler {
@override
Future<dynamic> handleMessage(Map<String, dynamic> params) async {
final key = params['key'];
final value = params['value'];
if (key is! String || value is! String) {
throw Exception('参数错误');
}
bool result = await getIt.get<SharedPreferences>().setString(key, value);
return result;
}
}
class GetStorageSyncHandler extends MessageHandler {
@override
Future<dynamic> handleMessage(Map<String, dynamic> params) async {
final key = params['key'];
if (key is! String) {
throw Exception('参数错误');
}
String? value = getIt.get<SharedPreferences>().getString(key);
return value ?? "";
}
}
class ClearStorageSyncHandler extends MessageHandler {
@override
Future<dynamic> handleMessage(Map<String, dynamic> params) async {
return await getIt.get<SharedPreferences>().clear();
}
}