const fs = require('fs'); // 读取现有的projectLibraryMock.js文件 const mockFilePath = './src/mocks/projectLibraryMock.js'; let mockFileContent = fs.readFileSync(mockFilePath, 'utf-8'); // 找到getMockProjectsList函数中的projects数组(第一个) const firstProjectsMatch = mockFileContent.match(/const projects = \[[\s\S]*?\];/); if (!firstProjectsMatch) { console.error('❌ 未找到第一个projects数组'); process.exit(1); } const firstProjectsArray = firstProjectsMatch[0]; // 提取第一个projects数组的内容 let projectsContent = firstProjectsArray.match(/const projects = (\[[\s\S]*?\]);/)[1]; // 找到getMockProjectDetail函数 const detailFunctionStart = mockFileContent.indexOf('export const getMockProjectDetail = (id) => {'); if (detailFunctionStart === -1) { console.error('❌ 未找到getMockProjectDetail函数'); process.exit(1); } // 找到getMockProjectDetail函数中的projects定义 const functionContent = mockFileContent.substring(detailFunctionStart); const secondProjectsMatch = functionContent.match(/const projects = \[[\s\S]*?\];/); if (!secondProjectsMatch) { console.error('❌ 未找到getMockProjectDetail中的projects数组'); process.exit(1); } // 替换getMockProjectDetail中的projects数组为第一个projects数组 const oldProjectsInFunction = secondProjectsMatch[0]; const newProjectsInFunction = `const projects = ${projectsContent};`; // 在getMockProjectDetail函数内进行替换 const updatedFunctionContent = functionContent.replace(oldProjectsInFunction, newProjectsInFunction); // 组合最终内容 mockFileContent = mockFileContent.substring(0, detailFunctionStart) + updatedFunctionContent; // 写入文件 fs.writeFileSync(mockFilePath, mockFileContent, 'utf-8'); console.log('✅ getMockProjectDetail函数中的projects数组已更新!'); console.log('现在项目详情弹窗将显示智能开发项目的数据。');