const fs = require('fs');
const path = require('path');
// 创建SVG图标的函数
function createSVGIcon(type, color) {
let svgContent = '';
switch(type) {
case 'home':
svgContent = `
`;
break;
case 'stats':
svgContent = `
`;
break;
case 'profile':
svgContent = `
`;
break;
}
return svgContent;
}
// 创建简单的PNG占位文件(使用最小的PNG数据)
function createMinimalPNG() {
// 最小的1x1 PNG图片的Base64数据
const base64 = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg==';
return Buffer.from(base64, 'base64');
}
// 图标配置
const icons = [
{ name: 'home.png', type: 'home', color: '#999999' },
{ name: 'home-active.png', type: 'home', color: '#07c160' },
{ name: 'stats.png', type: 'stats', color: '#999999' },
{ name: 'stats-active.png', type: 'stats', color: '#07c160' },
{ name: 'profile.png', type: 'profile', color: '#999999' },
{ name: 'profile-active.png', type: 'profile', color: '#07c160' },
{ name: 'default-avatar.png', type: 'profile', color: '#cccccc' },
{ name: 'empty.png', type: 'home', color: '#dddddd' }
];
// 创建images目录(如果不存在)
const imagesDir = path.join(__dirname, 'images');
if (!fs.existsSync(imagesDir)) {
fs.mkdirSync(imagesDir, { recursive: true });
}
// 创建所有图标文件(PNG占位符)
icons.forEach(icon => {
const filePath = path.join(imagesDir, icon.name);
const pngData = createMinimalPNG();
fs.writeFileSync(filePath, pngData);
console.log(`创建图标: ${icon.name}`);
});
// 同时创建SVG版本供参考
icons.forEach(icon => {
const svgFilePath = path.join(imagesDir, icon.name.replace('.png', '.svg'));
const svgContent = createSVGIcon(icon.type, icon.color);
if (svgContent) {
fs.writeFileSync(svgFilePath, svgContent);
console.log(`创建SVG: ${icon.name.replace('.png', '.svg')}`);
}
});
console.log('\n图标创建完成!');
console.log('提示:');
console.log('1. PNG文件是占位符,可以在微信开发者工具中正常运行');
console.log('2. SVG文件显示了实际图标样式');
console.log('3. 您可以使用在线工具将SVG转换为PNG');
console.log('4. 或者打开generate-icons.html在浏览器中生成真实PNG图标');