SecureStorageUtil.dart 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import 'dart:convert';
  2. import 'package:flutter_secure_storage/flutter_secure_storage.dart';
  3. class SecureStorageUtil {
  4. // 单例对象
  5. static final SecureStorageUtil _singleton = SecureStorageUtil._internal();
  6. // 私有构造函数
  7. SecureStorageUtil._internal();
  8. // 工厂构造函数返回单例对象
  9. factory SecureStorageUtil() => _singleton;
  10. // Secure Storage 实例
  11. final _storage = const FlutterSecureStorage();
  12. // 存储字符串
  13. Future<void> setString(String key, String value) async {
  14. await _storage.write(key: key, value: value);
  15. }
  16. // 读取字符串
  17. Future<String?> getString(String key) async {
  18. return await _storage.read(key: key);
  19. }
  20. // 存储JSON数组
  21. Future<void> setJsonList(String key, List<Map<String, dynamic>> jsonList) async {
  22. final jsonString = jsonEncode(jsonList);
  23. await _storage.write(key: key, value: jsonString);
  24. }
  25. // 读取JSON数组
  26. Future<List<Map<String, dynamic>>?> getJsonList(String key) async {
  27. final jsonString = await _storage.read(key: key);
  28. return jsonString != null ? List<Map<String, dynamic>>.from(jsonDecode(jsonString)) : null;
  29. }
  30. // 删除指定键的数据
  31. Future<void> delete(String key) async {
  32. await _storage.delete(key: key);
  33. }
  34. // 删除所有数据
  35. Future<void> deleteAll() async {
  36. await _storage.deleteAll();
  37. }
  38. }