app-starlock/lib/tools/app_manager.dart

45 lines
1.1 KiB
Dart
Raw Permalink Normal View History

2023-07-10 17:50:31 +08:00
import 'package:package_info_plus/package_info_plus.dart';
class AppManager {
String appName = '';
String packageName = '';
String version = '';
String buildNumber = '';
String platformName = '';
String get showVersion =>'$version.$buildNumber';
2023-07-15 15:11:28 +08:00
static AppManager? _manager;
2023-07-10 17:50:31 +08:00
AppManager._init();
2023-07-15 15:11:28 +08:00
static AppManager? shareManager(){
2023-07-10 17:50:31 +08:00
_manager ??= AppManager._init();
return _manager;
}
2023-07-15 15:11:28 +08:00
factory AppManager() => shareManager()!;
AppManager? get manager => shareManager();
2023-07-10 17:50:31 +08:00
//当前应用的语言
String _languageCode = 'en-US';
2023-07-15 15:11:28 +08:00
void setLanCode({String? code})=>_languageCode = code!;
2023-07-10 17:50:31 +08:00
String get languageCode => _languageCode;
//设备唯一标识
String _deviceID = '';
void saveDeviceID(String id){
_deviceID = id;
}
Future<void> initPackageInfo() async {
PackageInfo packageInfo = await PackageInfo.fromPlatform();
AppManager().appName = packageInfo.appName;
AppManager().packageName = packageInfo.packageName;
AppManager().version = packageInfo.version;
AppManager().buildNumber = packageInfo.buildNumber;
}
String get deviceId =>_deviceID;
}