import fs from 'fs'; // 读取生成的日历数据 const calendarData = JSON.parse(fs.readFileSync('calendarData.json', 'utf-8')); // 读取当前的mockData.js let mockDataContent = fs.readFileSync('src/data/mockData.js', 'utf-8'); // 将calendarEvents替换为真实数据 const calendarEventsStr = JSON.stringify(calendarData.calendarEvents, null, 2) .replace(/"([^"]+)":/g, '$1:') // 移除属性名的引号 .replace(/"/g, "'"); // 将双引号替换为单引号 // 查找calendarEvents的起始和结束位置 const startPattern = 'calendarEvents: (() => {'; const endPattern = '})(),'; const startIndex = mockDataContent.indexOf(startPattern); const endIndex = mockDataContent.indexOf(endPattern, startIndex) + endPattern.length; if (startIndex === -1 || endIndex === -1) { console.error('无法找到calendarEvents的位置'); } else { // 构建新的calendarEvents部分 const newCalendarEvents = `calendarEvents: ${calendarEventsStr},`; // 替换原有的calendarEvents mockDataContent = mockDataContent.substring(0, startIndex) + newCalendarEvents + mockDataContent.substring(endIndex); // 查找并更新allTasks const allTasksPattern = 'allTasks: ['; const allTasksStart = mockDataContent.indexOf(allTasksPattern, mockDataContent.indexOf('tasks: {')); if (allTasksStart !== -1) { // 找到allTasks的结束位置 let braceCount = 0; let allTasksEnd = allTasksStart + allTasksPattern.length; let inArray = true; for (let i = allTasksEnd; i < mockDataContent.length && inArray; i++) { if (mockDataContent[i] === '[') braceCount++; if (mockDataContent[i] === ']') { if (braceCount === 0) { allTasksEnd = i + 1; inArray = false; } else { braceCount--; } } } // 准备新的allTasks数据 const allTasksStr = JSON.stringify(calendarData.allTasks.slice(0, 10), null, 2) .replace(/"([^"]+)":/g, '$1:') .replace(/"/g, "'"); // 替换allTasks const newAllTasks = `allTasks: ${allTasksStr}`; mockDataContent = mockDataContent.substring(0, allTasksStart) + newAllTasks + mockDataContent.substring(allTasksEnd); } // 写回文件 fs.writeFileSync('src/data/mockData.js', mockDataContent); console.log('✅ mockData.js 已更新'); console.log(`📅 添加了 ${calendarData.calendarEvents.length} 个日历事件`); console.log(`📝 添加了 ${Math.min(calendarData.allTasks.length, 10)} 个任务`); }