|
@@ -0,0 +1,77 @@
|
|
|
+class BasicConfig {
|
|
|
+ final int mixedPort;
|
|
|
+ final bool allowLan;
|
|
|
+ final String bindAddress;
|
|
|
+ final String mode;
|
|
|
+ final String logLevel;
|
|
|
+ final String externalController;
|
|
|
+ final bool unifiedDelay;
|
|
|
+ final bool geodataMode;
|
|
|
+ final bool tcpConcurrent;
|
|
|
+ final String findProcessMode;
|
|
|
+ final String globalClientFingerprint;
|
|
|
+
|
|
|
+ BasicConfig({
|
|
|
+ required this.mixedPort,
|
|
|
+ required this.allowLan,
|
|
|
+ required this.bindAddress,
|
|
|
+ required this.mode,
|
|
|
+ required this.logLevel,
|
|
|
+ required this.externalController,
|
|
|
+ required this.unifiedDelay,
|
|
|
+ required this.geodataMode,
|
|
|
+ required this.tcpConcurrent,
|
|
|
+ required this.findProcessMode,
|
|
|
+ required this.globalClientFingerprint,
|
|
|
+ });
|
|
|
+
|
|
|
+// 可以添加一个方法来从Map或JSON解析创建BasicConfig实例
|
|
|
+ factory BasicConfig.fromMap(Map<String, dynamic> map) {
|
|
|
+ return BasicConfig(
|
|
|
+ mixedPort: map['mixed-port'],
|
|
|
+ allowLan: map['allow-lan'],
|
|
|
+ bindAddress: map['bind-address'],
|
|
|
+ mode: map['mode'],
|
|
|
+ logLevel: map['log-level'],
|
|
|
+ externalController: map['external-controller'],
|
|
|
+ unifiedDelay: map['unified-delay'],
|
|
|
+ geodataMode: map['geodata-mode'],
|
|
|
+ tcpConcurrent: map['tcp-concurrent'],
|
|
|
+ findProcessMode: map['find-process-mode'],
|
|
|
+ globalClientFingerprint: map['global-client-fingerprint'],
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ Map<String, dynamic> toJson() {
|
|
|
+ return {
|
|
|
+ 'mixed-port': mixedPort,
|
|
|
+ 'allow-lan': allowLan,
|
|
|
+ 'bind-address': bindAddress,
|
|
|
+ 'mode': mode,
|
|
|
+ 'log-level': logLevel,
|
|
|
+ 'external-controller': externalController,
|
|
|
+ 'unified-delay': unifiedDelay,
|
|
|
+ 'geodata-mode': geodataMode,
|
|
|
+ 'tcp-concurrent': tcpConcurrent,
|
|
|
+ 'find-process-mode': findProcessMode,
|
|
|
+ 'global-client-fingerprint': globalClientFingerprint,
|
|
|
+ };
|
|
|
+ }
|
|
|
+
|
|
|
+ String toYaml() {
|
|
|
+ return '''
|
|
|
+mixed-port: $mixedPort
|
|
|
+allow-lan: $allowLan
|
|
|
+bind-address: '$bindAddress'
|
|
|
+mode: $mode
|
|
|
+log-level: $logLevel
|
|
|
+external-controller: '$externalController'
|
|
|
+unified-delay: $unifiedDelay
|
|
|
+geodata-mode: $geodataMode
|
|
|
+tcp-concurrent: $tcpConcurrent
|
|
|
+find-process-mode: $findProcessMode
|
|
|
+global-client-fingerprint: $globalClientFingerprint
|
|
|
+''';
|
|
|
+ }
|
|
|
+
|
|
|
+}
|