const fs = require('fs'); // 袁嘉宇的新头像URL(使用id=25的头像) const newAvatarUrl = 'https://ddcz-1315997005.cos.ap-nanjing.myqcloud.com/static/avatar/douyin/8ab3e6ca8bd6037636705079a066ba9c.jpg'; // 读取mockData.js const mockDataPath = './src/data/mockData.js'; let mockDataContent = fs.readFileSync(mockDataPath, 'utf-8'); // 备份 const backupPath = `${mockDataPath}.backup_yuan_avatar_${new Date().toISOString().replace(/[:.]/g, '-')}`; fs.writeFileSync(backupPath, mockDataContent); console.log(`✅ 已创建备份:${backupPath}`); // 1. 更新user中的袁嘉宇头像 mockDataContent = mockDataContent.replace( /user:\s*{[\s\S]*?avatar:\s*"[^"]+"/, (match) => { return match.replace( /avatar:\s*"[^"]+"/, `avatar: "${newAvatarUrl}"` ); } ); // 2. 更新classRanking中袁嘉宇的头像 mockDataContent = mockDataContent.replace( /(name|studentName):\s*"袁嘉宇"[\s\S]*?avatar:\s*"[^"]+"/g, (match) => { return match.replace(/avatar:\s*"[^"]+"/, `avatar: "${newAvatarUrl}"`); } ); // 3. 更新personalProfile中的头像 mockDataContent = mockDataContent.replace( /personalProfile[\s\S]*?basicInfo:\s*{[\s\S]*?avatar:\s*"[^"]+"/, (match) => { return match.replace(/avatar:\s*"[^"]+"/, `avatar: "${newAvatarUrl}"`); } ); // 更新ClassRankModal组件中的头像映射 const modalPath = './src/components/ClassRankModal/index.jsx'; let modalContent = fs.readFileSync(modalPath, 'utf-8'); // 备份ClassRankModal const modalBackup = `${modalPath}.backup_yuan_avatar_${new Date().toISOString().replace(/[:.]/g, '-')}`; fs.writeFileSync(modalBackup, modalContent); // 更新ClassRankModal中袁嘉宇的头像 modalContent = modalContent.replace( /case\s*"袁嘉宇":[\s\S]*?avatarUrl\s*=\s*"[^"]+"/, `case "袁嘉宇":\n avatarUrl = "${newAvatarUrl}"` ); // 写回文件 fs.writeFileSync(mockDataPath, mockDataContent); fs.writeFileSync(modalPath, modalContent); console.log('✅ 袁嘉宇头像更新完成!'); console.log(`新头像URL: ${newAvatarUrl}`);