const fs = require('fs'); const path = require('path'); // 读取学生头像数据 const avatarData = JSON.parse(fs.readFileSync('./src/data/学生头像.json', 'utf8')); // 从数组中选择前40个头像URL(对应40个学生) const avatarUrls = avatarData.slice(0, 40).map(item => { // 提取简短的URL(去掉签名部分) const url = item.file_url.split('?')[0]; return url; }); // 读取mockData.js文件 let mockDataContent = fs.readFileSync('./src/data/mockData.js', 'utf8'); // 学生名单(按排名顺序) const students = [ "万圆", "李阳", "何晓彤", "李维", "程子涵", "马一鸣", "王蕊", "孙铭", "苏晴", "艾力", "吴若彤", "郑琪", "莎娜", "丁小雨", "钱伟", "黄晨", "阿依", "韩梅", "杜强", "江悦", "巴图", "陆芳", "白雪", "赛力", "许亮", "努尔", "贺辰", "曾小芳", "童瑶", "热依", "林峰", "古力", "徐静", "蒋明", "张思", "周婷", "木兰", "刘洋", "秦晓", "伊敏" ]; // 为每个学生分配头像 students.forEach((name, index) => { const avatarUrl = avatarUrls[index % avatarUrls.length]; // 使用正则表达式替换对应学生的头像URL const regex = new RegExp( `(studentName: "${name}"[\\s\\S]*?avatar: )"[^"]*"`, 'g' ); mockDataContent = mockDataContent.replace(regex, `$1"${avatarUrl}"`); }); // 写回文件 fs.writeFileSync('./src/data/mockData.js', mockDataContent); console.log('学生头像更新完成!');