Private
Public Access
1
0
Files
u-desk/docs/01-技术文档/图标更换指南.md

114 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 35KBICO 总计 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%)** |