updateRoutesFile function

Future<void> updateRoutesFile(
  1. String routesFilePath,
  2. List<String> newRoutes
)

更新 routes.dart 文件

Implementation

Future<void> updateRoutesFile(
  String routesFilePath,
  List<String> newRoutes,
) async {
  try {
    final file = File(routesFilePath);
    if (!await file.exists()) throw Exception('文件不存在: $routesFilePath');

    final content = await file.readAsString();

    // 找到 /// generate 注释的位置
    final generateIndex = content.indexOf('/// generate');
    if (generateIndex == -1) throw Exception('❌ 未找到 /// generate 注释');

    // 保留 /// generate 及其上方内容
    final head = content.substring(0, generateIndex + '/// generate \\'.length);

    // 拼接新的 Route 内容
    final newContent = [head, '', ...newRoutes, '', '}'].join('\n');

    await file.writeAsString(newContent);
    print('✅ project routes.dart 已更新');
  } catch (e) {
    print(e);
  }
}