app-starlock/lib/tools/store_service.dart

34 lines
1.0 KiB
Dart
Raw Permalink Normal View History

import 'dart:convert';
2023-07-10 17:50:31 +08:00
import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import 'package:star_lock/login/login/entity/LoginData.dart';
2023-07-10 17:50:31 +08:00
import '../login/login/entity/LoginEntity.dart';
2023-07-10 17:50:31 +08:00
final box = GetStorage();
2024-12-19 14:30:08 +08:00
class StoreService<T> extends GetxService {
2023-07-10 17:50:31 +08:00
static StoreService get to => Get.find<StoreService>();
Future<StoreService<T>> init() async {
await GetStorage.init();
return this;
}
2023-07-15 15:11:28 +08:00
Future<void> save(String? key, dynamic value) => box.write(key!, value);
T read(String? key) => box.read(key!);
Future remove(String? key) => box.remove(key!);
bool hasData(String? key) => box.hasData(key!);
2023-07-10 17:50:31 +08:00
final String _deviceUUID = 'DEVICE_ID';
2024-12-19 14:30:08 +08:00
final String _language = 'LANGUAGE';
2023-07-10 17:50:31 +08:00
2024-12-19 14:30:08 +08:00
String? getDeviceId() =>
hasData(_deviceUUID) ? read(_deviceUUID).toString() : '';
2023-07-10 17:50:31 +08:00
Future saveDeviceId(String uuid) => save(_deviceUUID, uuid);
2024-12-19 14:30:08 +08:00
String? getLanguageCode() =>
hasData(_language) ? read(_language).toString() : '';
Future saveLanguageCode(String code) => save(_language, code);
2023-07-10 17:50:31 +08:00
}