Skip to content

底层 API 概述

底层 API 是 foo_ui_webview2 的原生通信接口,通过 fb2k.invoke() 直接与 C++ 后端交互。

与 SDK 的区别

维度SDK (fb.*)底层 API (fb2k.invoke)
调用方式fb.player.play()fb2k.invoke('playback.play')
一致性SDK 含缓存层,部分属性为最终一致强一致,每次都从后端获取真实值
适用场景日常开发、UI 渲染事务性操作、精确控制、错误处理
依赖需加载 bridge.js插件自动注入 window.fb2k

何时使用底层 API

  • 需要获取后端返回值来做分支判断(SDK 的 fire-and-forget 写入无返回值)
  • 批量操作需要每步确认成功后再继续
  • SDK 未封装的 API(如多窗口管理 window.createPopup 等)
  • 需要精确错误信息的场景

调用方式

javascript
// 所有调用都返回 Promise
const result = await fb2k.invoke('namespace.method', { param1: value1 });

// 事件监听
const unsubscribe = fb2k.on('namespace:eventName', (data) => { ... });
unsubscribe(); // 取消

方法名使用 dot 格式playback.play),事件名使用 colon 格式playback:trackChanged)。

API 命名空间

命名空间描述数量
playback播放控制、状态、音量27
playlist播放列表管理、智能列表45
library媒体库浏览、搜索21
artwork封面获取、fb2k:// 协议12
window窗口控制、DWM 效果、多窗口72
taskbar任务栏缩略图按钮、进度条、覆盖图标5
tray系统托盘图标、右键菜单、行为控制13
config配置、设备、持久化存储29
metadata元数据读写9
audio音频分析、频谱12
queue / jitQueue播放队列15
discovery服务发现、上下文菜单15
其他file、dialog、shell、http、ui、keyboard、lyrics、console、dnd、dsp、output、replaygain、playcount、titleformat、selection、menu、misc、panel、test111

详细文档见左侧各命名空间页面。