BT编程语言文档

桌面 API

功能

bt_app 会向 staticserverremote 页面注入 window.bt。第一版桌面 API 提供 BT 后端调用、窗口控制、系统对话框、托盘、剪贴板、通知、文件拖入和应用信息能力。

页面只应使用 window.bt。运行器不会公开全局 window.__TAURI__,也不会把本地 fsnetprocess 能力直接暴露给前端。

语法

所有异步方法返回 Promise。成功时直接返回数据;失败时 Promise 会 reject,错误值是字符串或可转为字符串的错误对象。

参数

bt.call

参数类型必填说明
namestringmain.bt 中的全局函数名
...argsany传给 BT 函数的参数,会按 JSON 值转换

bt.window

方法参数返回值说明
set_titletitle:stringvoid设置窗口标题
set_sizewidth:number, height:numbervoid设置窗口逻辑尺寸
set_resizableresizable:booleanvoid设置是否允许调整大小
minimize / maximize / restore / close / hide / show / focus / centervoid常用窗口动作
set_fullscreenfullscreen:booleanvoid设置全屏
is_fullscreen / is_maximized / is_minimized / is_visible / is_always_on_topboolean读取窗口状态
set_always_on_topenabled:booleanvoid设置窗口置顶
set_decorationsvisible:booleanvoid设置系统标题栏和边框
set_skip_taskbarenabled:booleanvoid设置是否跳过任务栏
set_close_modemode:stringvoidexithidetray
dragvoid自定义标题栏拖动窗口
start_resizeedge:stringvoidtopbottomleftrighttop_lefttop_rightbottom_leftbottom_right
flashvoid请求系统提醒用户关注窗口

bt.dialog

方法参数返回值说明
open_fileoptionsstring 或 null选择单个文件
open_filesoptionsstring[]选择多个文件
open_diroptionsstring 或 null选择目录
save_fileoptionsstring 或 null选择保存路径
messagemessage:string, optionsvoid显示消息框
confirmmessage:string, optionsboolean显示确认框

options.title 为对话框标题,options.default_path 为默认路径,options.filters 为文件过滤器数组。消息框 options.kind 支持 infowarningerror

bt.tray

方法参数返回值说明
enableoptionsvoid启用托盘图标
disablevoid关闭托盘图标
set_iconicon:stringvoid设置托盘图标路径
set_tooltiptext:stringvoid设置托盘提示
set_menumenu:arrayvoid设置托盘菜单
on_menu_clickcallbackfunction监听菜单点击,返回取消监听函数

菜单项格式为 {id:'show', text:'显示窗口', enabled:true};分隔线格式为 {type:'separator'}window.set_close_mode('tray') 会在关闭窗口时隐藏窗口,并确保存在默认托盘。

bt.clipboard

方法参数返回值说明
read_textstring读取文本剪贴板
write_texttext:stringvoid写入文本
clearvoid清空剪贴板

bt.notify

方法参数返回值说明
permission_statestringgranteddeniedprompt
request_permissionstring请求通知权限
showoptionsvoid显示通知

options.title 为空时使用应用标题,options.body 为通知正文。

bt.drag

方法参数返回值说明
on_filescallbackfunction监听拖入文件或目录,回调参数为绝对路径数组

bt.app

方法参数返回值说明
versionstring当前应用版本
engine_versionstringbt_app 引擎版本
platformstringwindowsmacoslinux 或其他系统名
open_urlurl:stringvoid用系统默认浏览器打开 HTTP/HTTPS 地址
open_pathpath:stringvoid用系统默认程序打开文件或目录
reveal_pathpath:stringvoid在文件管理器中定位路径
quitvoid退出程序
argsstring[]启动参数

返回值

bt.call() 直接返回 BT 函数的返回值。BT 函数返回对象时,前端收到普通 JSON 对象;返回字符串、数字、布尔或数组时,前端收到对应 JSON 值。

如果 BT 函数不存在、执行报错、VM 调用队列已满或桌面 API 参数无效,Promise 会 reject,不会返回 {error,message,data} 包装对象。

代码示例

main.bt

页面调用:

托盘菜单:

注意事项

  • bt.call() 是长期 VM 业务通道;窗口、托盘、剪贴板、通知等桌面能力走独立 command,不占用 BT VM。
  • VM 调用队列有上限。前端高频调用时应节流,避免无控增长。
  • remote 页面同样拥有完整 window.bt 能力,只应加载可信地址。
  • 前端不能直接访问本地文件系统、网络监听或进程能力,需要通过 main.bt 中受控函数封装。
  • 完整示例位于 examples/desktop-api