114 lines
3.2 KiB
Markdown
114 lines
3.2 KiB
Markdown
# 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%)** |
|