新增: 功能路线图 + 9份需求契约

- feature-roadmap.md: 现有能力盘点 + P1/P2/P3方向 + 竞品参考
- AI深度视差: 远程推理方案(服务端Depth-Anything + 客户端WebGL)
- 自动升级模块文档: 设计规格/任务规划/决策记录
- 9份需求契约: 视频/颜色提取/时间段/番茄钟/播放列表/电池/网页/便签/监控
This commit is contained in:
2026-05-28 19:06:39 +08:00
parent f5a473c4b8
commit cd7247d880
19 changed files with 1044 additions and 33 deletions

View File

@@ -219,3 +219,47 @@ go build -o u-desktop.exe .
3. Modal 在壁纸层渲染,用户看不到也点不到
**修复**: 星座设置改为托盘子菜单直接选择(`AddSubMenuItem`),不依赖 WebView 交互。城市选择通过点击天气文字触发因壁纸层可接收鼠标事件WorkerW 的子窗口不在图标层之上但仍可点击)。
---
## 2026-05-28 追加
### Windows 桌面周期性重置壁纸
**症状**: 程序运行一段时间后,壁纸和卡片消失,被系统默认壁纸覆盖。
**根因**: Windows 桌面窗口管理器DWM会周期性重建 WorkerW导致 WebView2 的 SetParent 关系断裂。
**修复**: 在 `fullscreenMonitor` 中每 10 秒检测 `GetParent(wvHwnd)`,父窗口变化时自动重新嵌入新 WorkerW。
```go
parent, _, _ := procGetParent.Call(wvHwnd)
if parent != lastParent {
ww := findWorkerW()
if ww != 0 && ww != parent {
embedWorkerW(ww, screenW, screenH)
}
}
```
### 鼠标键盘事件穿透
**问题**: WebView2 覆盖在桌面上方,拦截所有鼠标/键盘事件,桌面图标无法操作。
**修复**: 设置 `WS_EX_TRANSPARENT | WS_EX_LAYERED` 扩展样式,事件穿透到下层桌面。
```go
procSetWindowLongPtrW.Call(wvHwnd, gwlExStyle, wsExTransparent|wsExLayered)
```
### 托盘左键点击
**问题**: 原版 systray 库左键/右键都弹菜单,无法区分。
**修复**: 修改 vendor 中的 `systray_windows.go`,左键 `WM_LBUTTONUP` 发送信号到 `TrayClickCh` 通道而非弹菜单。主程序监听此通道打开设置窗口。
### 配置路径迁移
**变更**: 配置从 `{exeDir}/config/settings.json` 迁移到 `~/.u-desktop/settings.json`
**原因**: 构建清理 `dist/` 目录会删除用户配置。用户目录不受影响,且多版本共用同一配置。