自动验证配置文件

This commit is contained in:
会做饭的二哈
2025-03-17 23:19:25 +08:00
parent f6de2f3849
commit 99ed31f992
+26 -1
View File
@@ -146,7 +146,13 @@ class ConfigManager {
for (final item in list) {
buffer.write('$prefix- ');
if (item is Map) {
_writeMap(item.cast<String, dynamic>(), buffer, indent + 1);
if (item.isEmpty) {
buffer.writeln('{}');
} else {
buffer.writeln();
// 注意这里使用了正确的缩进级别
_writeMapInList(item.cast<String, dynamic>(), buffer, indent + 1);
}
} else if (item is List) {
_writeList(item, buffer, indent + 1);
} else {
@@ -155,6 +161,25 @@ class ConfigManager {
}
}
/// 专门用于处理列表中的Map项,确保正确缩进
void _writeMapInList(
Map<String, dynamic> map, StringBuffer buffer, int indent) {
final prefix = ' ' * indent;
map.forEach((key, value) {
buffer.write('$prefix$key: ');
if (value is Map<String, dynamic>) {
buffer.writeln();
_writeMap(value, buffer, indent + 1);
} else if (value is List) {
_writeList(value, buffer, indent + 1);
} else {
buffer.writeln(_formatValue(value));
}
});
}
/// 格式值处理
String _formatValue(dynamic value) {
if (value is String) return '"$value"';