Files
online_sys/frontend_智能开发/fixProjectDetail.cjs

48 lines
1.9 KiB
JavaScript
Raw Normal View History

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('现在项目详情弹窗将显示智能开发项目的数据。');