import sys path = r'C:\Users\jsmbz\Documents\flutter-app-02\lib\features\home\presentation\widgets\map\testmap_pages.dart' with open(path, 'r', encoding='utf-8') as f: content = f.read() start_marker = ' try {\n final result = await sl().execute(' start = content.find(start_marker) if start < 0: print('start not found') sys.exit(1) print(f'start={start}') end_marker = 'return;\n }\n }' end = content.find(end_marker, start) if end < 0: print('end not found') sys.exit(1) end += len('return;\n }\n }') print(f'end={end}') new_code = """ try { final result = await sl().execute( deviceId: deviceId, routeId: routeId, siteId: siteId, orgId: orgId, ); final taskId = result.fold( (failure) { final failMsg = failure.toString(); if (failMsg.contains('存在任务') || failMsg.contains('already exists')) { return null; } _showPageToast(message: '作业启动失败', type: ToastType.error); return -1; }, (id) => id, ); if (taskId == null) { await taskCubit.fetchAndFilterTask(deviceId); await Future.delayed(const Duration(milliseconds: 300)); final existingTasks = taskCubit.state.activeTasks; if (existingTasks.isNotEmpty) { taskCubit.selectTask(existingTasks.first); _showPageToast(message: '设备正在作业中', type: ToastType.success); _saveDataToLocal(); return; } _showPageToast(message: '设备正在作业中', type: ToastType.warn); return; } if (taskId == -1) { taskCubit.clearCurrentTask(); setState(() { isStartWork = false; _workStatus = WorkStatus.idle; }); return; } taskCubit.updateCurrentTaskId(taskId); } catch (e) { _showPageToast(message: '作业启动异常: $e', type: ToastType.error); taskCubit.clearCurrentTask(); setState(() { isStartWork = false; _workStatus = WorkStatus.idle; }); return; } }""" content = content[:start] + new_code + content[end:] with open(path, 'w', encoding='utf-8', newline='') as f: f.write(content) print('DONE')