Appearance
事件处理与导航系统
系统概览
全局事件处理中枢:注册键盘/鼠标/Wails 事件、管理导航按钮映射、处理拖放导入、更新通知弹窗。涵盖 500+ 行事件注册逻辑,是 UI 交互与后端通信的桥梁。
核心职责
events.ts— 全局事件注册、导航映射、弹窗管理、拖放导入、更新通知。
对外 API(节选)
registerEventHandlers()— 注册全局事件监听(键盘、鼠标、Wails 事件、拖放)。disposeEventHandlers()— 释放所有已注册的事件处理器。toggleOverlay(id, showFn)— 切换弹窗显示状态,含过渡动画等待。buildNavMaps()— 构建导航按钮映射(navActions / navLabels)。initDropHandler()— 初始化拖放导入处理。showUpdateToast(latest, url)— 显示更新通知弹窗。
内部协作
_toggleOverlays()— 批量关闭所有弹窗。handleDropFile(path)— 处理拖放文件的导入逻辑。navActions/navLabels— 导航按钮映射表,被shortcut-app.ts消费。
与其他子系统关系
- 依赖
shortcut-registry获取快捷键列表。 - 依赖
menus/library弹窗模型/动作库。 - 依赖
platform打开外部 URL。 - 依赖
safe-call安全执行异步操作。
UI 入口
- 菜单层级 / 入口函数 / 快捷键统一由 menu-map.md 机器生成(勿手改)。
- 运行时动态生成的菜单项(renderCustom / slideRow 等)无法静态提取,缺口由本卡正文说明。