Files
ALL-teach_sys/frontend_智能开发/updateYuanAvatar.cjs

61 lines
2.0 KiB
JavaScript
Raw Normal View History

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}`);