first commit
This commit is contained in:
96
miniprogram/download-icons.js
Normal file
96
miniprogram/download-icons.js
Normal file
@@ -0,0 +1,96 @@
|
||||
/**
|
||||
* TabBar 图标下载脚本
|
||||
* 从 Iconfont 下载图标并自动配置
|
||||
*/
|
||||
|
||||
const https = require('https');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
// 图标配置
|
||||
const icons = [
|
||||
{
|
||||
name: 'home',
|
||||
url: 'https://img.icons8.com/ios/100/999999/home--v1.png',
|
||||
desc: '首页-未选中'
|
||||
},
|
||||
{
|
||||
name: 'home-active',
|
||||
url: 'https://img.icons8.com/ios-filled/100/07c160/home--v1.png',
|
||||
desc: '首页-选中'
|
||||
},
|
||||
{
|
||||
name: 'article',
|
||||
url: 'https://img.icons8.com/ios/100/999999/document--v1.png',
|
||||
desc: '我的发布-未选中'
|
||||
},
|
||||
{
|
||||
name: 'article-active',
|
||||
url: 'https://img.icons8.com/ios-filled/100/07c160/document--v1.png',
|
||||
desc: '我的发布-选中'
|
||||
},
|
||||
{
|
||||
name: 'user',
|
||||
url: 'https://img.icons8.com/ios/100/999999/user--v1.png',
|
||||
desc: '我的-未选中'
|
||||
},
|
||||
{
|
||||
name: 'user-active',
|
||||
url: 'https://img.icons8.com/ios-filled/100/07c160/user--v1.png',
|
||||
desc: '我的-选中'
|
||||
}
|
||||
];
|
||||
|
||||
// 创建目标目录
|
||||
const targetDir = path.join(__dirname, 'miniprogram', 'images', 'tabbar');
|
||||
if (!fs.existsSync(targetDir)) {
|
||||
fs.mkdirSync(targetDir, { recursive: true });
|
||||
console.log('✅ 创建目录:', targetDir);
|
||||
}
|
||||
|
||||
// 下载单个图标
|
||||
function downloadIcon(icon) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const filePath = path.join(targetDir, `${icon.name}.png`);
|
||||
const file = fs.createWriteStream(filePath);
|
||||
|
||||
https.get(icon.url, (response) => {
|
||||
response.pipe(file);
|
||||
file.on('finish', () => {
|
||||
file.close();
|
||||
console.log(`✅ 下载成功: ${icon.desc} (${icon.name}.png)`);
|
||||
resolve();
|
||||
});
|
||||
}).on('error', (err) => {
|
||||
fs.unlink(filePath, () => {});
|
||||
console.error(`❌ 下载失败: ${icon.desc}`, err.message);
|
||||
reject(err);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// 批量下载
|
||||
async function downloadAll() {
|
||||
console.log('\n🚀 开始下载 TabBar 图标...\n');
|
||||
|
||||
try {
|
||||
for (const icon of icons) {
|
||||
await downloadIcon(icon);
|
||||
// 延迟避免请求过快
|
||||
await new Promise(resolve => setTimeout(resolve, 500));
|
||||
}
|
||||
|
||||
console.log('\n✨ 所有图标下载完成!\n');
|
||||
console.log('📁 图标位置:', targetDir);
|
||||
console.log('\n📝 下一步:');
|
||||
console.log('1. 打开 miniprogram/app.json');
|
||||
console.log('2. 在 tabBar.list 中添加图标路径');
|
||||
console.log('3. 重新编译小程序\n');
|
||||
|
||||
} catch (error) {
|
||||
console.error('\n❌ 下载过程出错:', error);
|
||||
}
|
||||
}
|
||||
|
||||
// 执行下载
|
||||
downloadAll();
|
||||
Reference in New Issue
Block a user