# U-Desk 图标更换指南 > 最后更新:2026-04-15 ## 图标文件体系 U-Desk 有 **3 层图标**,Wails v2 的主图标源是 `build/appicon.png`,**不是** `build/windows/icon.ico`。 | 文件 | 用途 | Wails 是否使用 | |------|------|---------------| | `build/appicon.png` (256×256) | **唯一图标源** — Wails 构建时自动生成 ICO 嵌入 exe | ✅ **是** | | `build/windows/icon.ico` | Windows 平台资源(被 appicon.png 覆盖) | ❌ 不直接使用 | | `build/windows/app-icon.png` | Windows 目录副本 | ❌ 不使用 | | `docs/08-用户指南/u-desk-site/og-image.png` | 网站品牌图标 / PWA 图标 | 独立,需手动上传 | ## 更换步骤 ### 1. 准备源图 准备 PNG 图片,用 Go 工具压缩并生成多尺寸 ICO: ```go // build/windows/convert_ico.go (用完即删) // 功能: 读取任意尺寸 PNG → 压缩到 256×256 → 输出 6尺寸 ICO + appicon.png // go run convert_ico.go ``` 输出: - `build/appicon.png` — 256×256 压缩后(~35KB) - `build/windows/icon.ico` — 6尺寸 ICO(~53KB) ### 2. 同步到所有位置 ```bash cp build/appicon.png build/windows/app-icon.png cp build/appicon.png docs/08-用户指南/u-desk-site/og-image.png ``` ### 3. 构建 ```bash wails build # 必须用 wails build,不能用 go build ``` ### 4. 替换桌面 exe 桌面上的 `u-desk.exe` 是旧 exe 的**副本**(不是快捷方式),需手动替换: ```bash cp build/bin/u-desk.exe ~/Desktop/u-desk.exe ``` ### 5. 上传网站 logo ```bash scp docs/08-用户指南/u-desk-site/og-image.png root@39.99.243.191:/var/www/u-desk-site/ ``` ### 6. 刷新 Windows 图标缓存 ```bash # 删除缓存文件 rm -f ~/AppData/Local/IconCache.db rm -f ~/AppData/Local/Microsoft/Windows/Explorer/iconcache_*.db rm -f ~/AppData/Local/Microsoft/Windows/Explorer/thumbcache_*.db # 重启资源管理器 taskkill //F //IM explorer.exe && start explorer.exe ``` ## 踩坑记录 ### 坑 1: 改了 icon.ico 但 exe 里还是旧图标 **原因**: Wails v2 以 `build/appicon.png` 为唯一图标源,构建时忽略 `build/windows/icon.ico`。 **解决**: 必须更新 `build/appicon.png`。 ### 坑 2: PowerShell System.Drawing 不可靠 **原因**: Windows 上 Assembly 加载问题,Drawing2D 类型解析失败。 **解决**: 用 Go 标准库 (`image/png`) 写转换工具,简单可靠。 ### 坑 3: 桌面图标不更新 **原因**: 用户桌面上放的是旧 exe 的**副本** (`~/Desktop/u-desk.exe`),不是快捷方式 (.lnk)。 **解决**: 直接 `cp 新exe ~/Desktop/u-desk.exe` 覆盖。 ### 坑 4: Windows 图标缓存顽固 即使替换了文件,Windows 可能仍显示旧图标。 **解决**: 删除 IconCache.db + iconcache_*.db + thumbcache_*.db,然后重启资源管理器。最彻底的方式是重启电脑。 ### 坑 5: 源图尺寸过大 微信图片通常 1000+ 像素、300+ KB,直接使用会导致嵌入 exe 后体积膨胀。 **解决**: 先用 Go 缩放到 256×256 再生成各尺寸。效果:351KB → appicon.png 35KB,ICO 总计 53KB。 ## EXE 内嵌图标大小参考 | 尺寸 | 大小 | |------|------| | 256×256 | ~58 KB | | 128×128 | ~18 KB | | 64×64 | ~5 KB | | 48×48 | ~3 KB | | 32×32 | ~1.6 KB | | 16×16 | ~3 KB | | **合计** | **~89 KB (占 EXE 0.25%)** |