40 lines
1.4 KiB
JavaScript
40 lines
1.4 KiB
JavaScript
|
|
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('学生头像更新完成!');
|