SuperAPI AI 工具集

electrobun-native-ui

前端与建站

查看项目

更新于 10-16 04:57

技能介绍

本技能面向 Electrobun 桌面应用开发,用于接入操作系统原生 UI 能力,资料以代码示例形式给出各类原生控件的用法。

用途:帮助开发者将应用菜单、右键菜单、系统托盘、原生对话框、快捷键与通知等原生界面元素集成到 Electrobun 应用中,提升桌面应用的平台一致性。

主要能力与用法: 应用菜单通过 import { ApplicationMenu } from "electrobun/bun" 并使用 ApplicationMenu.setMenu([...]) 定义,菜单项支持 label、accelerator 快捷键、action 回调、type: "separator" 分隔符、checked 与 enabled 状态,以及内置 role(如 undo、redo、cut、copy、paste、selectAll、minimize、close、quit、reload、toggleDevTools、toggleFullScreen、zoomIn、zoomOut、resetZoom 等)。可按 process.platform === "darwin" 做平台差异化菜单。 右键菜单通过 win.on("context-menu", ...) 与 ContextMenu.show([...]) 实现,可结合 Webview 中的 contextmenu 事件与 electroview.rpc 传递选中文本、链接、图片等上下文,动态生成菜单;也可用 win.inspectElement(x, y) 打开检查器。 系统托盘使用 new Tray({ icon, tooltip, menu }),支持 setIcon、setTooltip、setMenu 动态更新,以及 showBalloon 发送气泡通知。 原生对话框由 dialog.showOpenDialog、dialog.showSaveDialog、dialog.showMessageBox 提供,支持 filters 过滤、properties 如 openFile/openDirectory/multiSelections,以及 question/error/warning/info 类型与按钮、defaultId、cancelId。 快捷键分为全局 shortcuts:globalShortcut.register(key, action),退出时用 globalShortcut.unregisterAll() 注销;窗口内快捷键可通过菜单 accelerator 自动注册,或在 Webview 中监听 keydown 自行处理。 通知使用 new Notification({ title, body, icon, sound }) 并调用 show(),部分平台支持 actions 按钮与 action 事件。

适用场景:需要构建菜单栏、托盘常驻、文件打开/保存、确认与错误提示、全局热键及系统通知的跨平台桌面应用。

限制:资料为技能文档与代码片段,未提供安装命令、依赖版本、平台兼容性细节、性能与实际效果说明,这些事实暂未提供,使用前需自行验证。