Files
online_sys/frontend_财经商贸/updateStudentAvatars.cjs

40 lines
1.4 KiB
JavaScript
Raw Normal View History

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