updateRouterConstants method
Implementation
Future<void> updateRouterConstants(String name) async {
try {
String constantsPath = './lib/routes/constants.dart';
File constantsFile = File(constantsPath);
String content = await constantsFile.readAsString();
String newRoute = '''
// $pageComment
static const ${_camelCase(name)} = '/${_camelCase(name)}';''';
RegExp regex = RegExp(r'^\s*//\s*-{4,}\s*>\s*${selectModule.toUpperCase()}', multiLine: true);
List<String> lines = content.split('\n');
int insertIndex = -1;
for (int i = 0; i < lines.length; i++) {
if (regex.hasMatch(lines[i])) {
insertIndex = i;
break;
}
}
if (insertIndex != -1) {
lines.insert(insertIndex + 1, newRoute);
await constantsFile.writeAsString(lines.join('\n'));
await updateRouterConstantsPagesPath(name);
} else {
print('未找到模块部分');
}
} catch (error) {
print('更新路由常量失败: $error');
}
}