code refactoring
This commit is contained in:
parent
6e33dbe656
commit
d7f88f0698
5 changed files with 38 additions and 55 deletions
|
|
@ -8,7 +8,7 @@ class Application {
|
|||
|
||||
Application(Function() func, Function(Object, StackTrace) errorListener) {
|
||||
runZonedGuarded(() async {
|
||||
system.initialize();
|
||||
await system.initialize();
|
||||
writeLog = (error, stack) => logError('$error:\n$stack');
|
||||
func();
|
||||
}, (error, stack) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import 'dart:io';
|
||||
|
||||
import 'package:dart_framework/platform/platform_base.dart';
|
||||
import 'package:dart_framework/utils/path.dart';
|
||||
import 'package:dart_framework/utils/string_util.dart';
|
||||
import 'package:dart_framework/utils/system_util.dart';
|
||||
|
||||
|
|
@ -100,7 +101,7 @@ class Log {
|
|||
|
||||
void initializeLog() async {
|
||||
if (path == null) {
|
||||
path = await getDataPath();
|
||||
path = await Path.dataPath;
|
||||
if (path!.isNotEmpty) {
|
||||
path = '$path/logs';
|
||||
var dir = Directory(path!);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import 'dart:io';
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:dart_framework/utils/path.dart';
|
||||
import 'package:path/path.dart' as path;
|
||||
import 'package:dart_framework/platform/process.dart';
|
||||
|
||||
|
|
@ -92,7 +93,7 @@ class _StartupMac extends _Startup {
|
|||
Future<bool> isRegistedStartup(String label) async {
|
||||
var c = Completer<bool>();
|
||||
var plistName = '$label.plist';
|
||||
var userPath = Platform.environment['HOME'] as String;
|
||||
var userPath = await Path.userPath;
|
||||
c.complete(
|
||||
await File('$userPath/Library/LaunchAgents/$plistName').exists());
|
||||
return c.future;
|
||||
|
|
@ -121,7 +122,7 @@ class _StartupMac extends _Startup {
|
|||
|
||||
//create plist in LaunchAgents
|
||||
final plistName = '$label.plist';
|
||||
final userPath = Platform.environment['HOME'];
|
||||
final userPath = await Path.userPath;
|
||||
final tagLogStandard = '{LOG_STANDARD}';
|
||||
final tagLogError = '{LOG_ERROR}';
|
||||
final tagParameters = '{PARAMETERS}';
|
||||
|
|
@ -158,7 +159,7 @@ class _StartupMac extends _Startup {
|
|||
var c = Completer<bool>();
|
||||
var success = false;
|
||||
var plistName = '$label.plist';
|
||||
var userPath = Platform.environment['HOME'];
|
||||
var userPath = await Path.userPath;
|
||||
var file = File('$userPath/Library/LaunchAgents/$plistName');
|
||||
if (file.existsSync()) {
|
||||
await file.delete();
|
||||
|
|
@ -194,7 +195,7 @@ WantedBy=default.target""";
|
|||
Future<bool> isRegistedStartup(String label) async {
|
||||
var c = Completer<bool>();
|
||||
var exist = false;
|
||||
var userPath = Platform.environment['HOME'] as String;
|
||||
var userPath = await Path.userPath;
|
||||
exist =
|
||||
await File('$userPath/.config/systemd/user/$label.service').exists();
|
||||
c.complete(exist);
|
||||
|
|
@ -212,7 +213,7 @@ WantedBy=default.target""";
|
|||
final tagPath = '{FILE_PATH}';
|
||||
ProcessResult? result;
|
||||
|
||||
var userPath = Platform.environment['HOME'] as String;
|
||||
var userPath = await Path.userPath;
|
||||
var systemPath = '$userPath/.config/systemd/user';
|
||||
if (arguments != null) {
|
||||
for (var arg in arguments) {
|
||||
|
|
@ -241,7 +242,7 @@ WantedBy=default.target""";
|
|||
Future<bool> unregistStartup(String label) async {
|
||||
var c = Completer<bool>();
|
||||
var success = false;
|
||||
var userPath = Platform.environment['HOME'] as String;
|
||||
var userPath = await Path.userPath;
|
||||
var shell = StringBuffer();
|
||||
var systemPath = '$userPath/.config/systemd/user';
|
||||
shell.write('cd $systemPath && ');
|
||||
|
|
@ -281,7 +282,7 @@ Set WshShell = Nothing
|
|||
var c = Completer<bool>();
|
||||
//For Windows 8, 10
|
||||
var exist = false;
|
||||
var userPath = Platform.environment['UserProfile'];
|
||||
var userPath = await Path.userPath;
|
||||
var startupDir = Directory('$userPath$windowsStartupPath');
|
||||
var files = startupDir.listSync();
|
||||
for (var fileEntry in files) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import 'dart:io';
|
||||
import 'dart:async';
|
||||
import 'package:dart_framework/utils/system_util.dart';
|
||||
import 'package:path/path.dart' as path;
|
||||
import 'package:path_provider/path_provider.dart';
|
||||
|
||||
|
|
@ -8,7 +9,6 @@ enum FileType { none, file, directory, link }
|
|||
class Path {
|
||||
static Future<String> get userPath async {
|
||||
String path = '';
|
||||
var c = Completer<String>();
|
||||
if(Platform.isWindows) {
|
||||
path = Platform.environment['USERPROFILE'] as String;
|
||||
} else if(Platform.isMacOS || Platform.isLinux) {
|
||||
|
|
@ -16,10 +16,21 @@ class Path {
|
|||
} else if(Platform.isAndroid || Platform.isIOS) {
|
||||
path = (await getApplicationDocumentsDirectory()).path;
|
||||
}
|
||||
c.complete(path);
|
||||
return c.future;
|
||||
return dataFutrue(path);
|
||||
}
|
||||
|
||||
static Future<String> get dataPath async {
|
||||
String path = await userPath;
|
||||
if (Platform.isMacOS) {
|
||||
path = '$path/Library/${await projectName}';
|
||||
} else if (Platform.isLinux) {
|
||||
path = '$path/.config/${await projectName}';
|
||||
} else if (Platform.isWindows) {
|
||||
path = '$path/AppData/Local/${await projectName}';
|
||||
}
|
||||
return dataFutrue(path);
|
||||
}
|
||||
|
||||
static String? getParent(String path) {
|
||||
path = getNormal(path);
|
||||
var separator = '/';
|
||||
|
|
|
|||
|
|
@ -3,22 +3,23 @@ import 'dart:convert';
|
|||
import 'dart:io';
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:dart_framework/utils/path.dart';
|
||||
import 'package:yaml/yaml.dart';
|
||||
import 'package:path/path.dart' as path;
|
||||
|
||||
late Future<String> Function() getUserPath;
|
||||
late Future<String> Function() getProjectName;
|
||||
late Future<String> Function() getDataPath;
|
||||
|
||||
void initialize() {
|
||||
getUserPath = getUserPath_;
|
||||
getProjectName = getProjectName_;
|
||||
getDataPath = getDataPath_;
|
||||
}
|
||||
|
||||
const int intMax = 0x7FFFFFFFFFFFFFFF;
|
||||
const int intMin = -0x8000000000000000;
|
||||
|
||||
String userPath = '';
|
||||
String dataPath = '';
|
||||
String projectName = '';
|
||||
|
||||
Future initialize() async {
|
||||
userPath = await Path.userPath;
|
||||
dataPath = await Path.dataPath;
|
||||
projectName = await getProjectName();
|
||||
}
|
||||
|
||||
Map<String, List<String>?> envArguments(List<String> arguments) {
|
||||
var dic = <String, List<String>?>{};
|
||||
var list = <String>[];
|
||||
|
|
@ -124,43 +125,12 @@ Future<Uint8List?> readFileByte(String filePath) async {
|
|||
return c.future;
|
||||
}
|
||||
|
||||
Future<String> getUserPath_() async {
|
||||
String home = '';
|
||||
Map<String, String> envVars = Platform.environment;
|
||||
if (Platform.isMacOS) {
|
||||
home = envVars['HOME']!;
|
||||
} else if (Platform.isLinux) {
|
||||
home = envVars['HOME']!;
|
||||
} else if (Platform.isWindows) {
|
||||
home = envVars['UserProfile']!;
|
||||
}
|
||||
var c = Completer<String>();
|
||||
c.complete(home);
|
||||
return c.future;
|
||||
}
|
||||
|
||||
Future<String> getDataPath_() async {
|
||||
String path = await getUserPath();
|
||||
if (Platform.isMacOS) {
|
||||
path = '$path/Library/Application Support/${await getProjectName()}';
|
||||
} else if (Platform.isLinux) {
|
||||
path = '$path/.config/${await getProjectName()}';
|
||||
} else if (Platform.isWindows) {
|
||||
path = '$path/AppData/Local/${await getProjectName()}';
|
||||
}
|
||||
var c = Completer<String>();
|
||||
c.complete(path);
|
||||
return c.future;
|
||||
}
|
||||
|
||||
Future<String> getProjectName_() async {
|
||||
Future<String> getProjectName() async {
|
||||
var name =
|
||||
path.dirname(Platform.script.toFilePath(windows: Platform.isWindows));
|
||||
print(name);
|
||||
if (path.basename(name) == 'bin') {
|
||||
name = path.dirname(name);
|
||||
}
|
||||
var c = Completer<String>();
|
||||
c.complete(path.basename(name));
|
||||
return c.future;
|
||||
return dataFutrue(path.basename(name));
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue