# Univer Boards API

> 了解如何在 Univer Boards 应用中使用 Facade API。

- Human documentation: [https://docs.univer.ai/zh-CN/guides/boards/features/core/boards-api](https://docs.univer.ai/zh-CN/guides/boards/features/core/boards-api)

- Agent Markdown: [https://docs.univer.ai/zh-CN/guides/boards/features/core/boards-api.md](https://docs.univer.ai/zh-CN/guides/boards/features/core/boards-api.md)

- Requested language: `zh-CN`

- Content language: `zh-CN`

- Documentation version: `1.0.0-rc.0`

- Source: [boards/features/core/boards-api.zh-CN.mdx](https://github.com/dream-num/documentation/blob/dev/content/guides/boards/features/core/boards-api.zh-CN.mdx)

---

Facade API 在 Univer 服务和单元模型之上提供了面向应用的接口层。你可以用它执行常见的 Board 操作，例如创建画板、读取当前页面、添加元素、更新容器和管理泳道。

> [!WARNING: 注意]
> Board 变更 API 是同步的，并返回 `boolean` 或可为空的句柄。读取结果前请检查返回值。

## 启用 Facade 入口

Boards 以 Web SDK 插件的形式分发。请为应用所使用的 Board 功能导入对应的 Facade 入口：

```ts
import { FUniver } from '@univerjs/core/facade'
import '@univerjs-pro/boards/facade'
```

注册 Univer 实例和所需插件后，创建 API 对象：

```ts
const univerAPI = FUniver.newAPI(univer)
```

## 创建和读取画板

使用 `createBoard` 通过 Facade 层创建 Board 单元。在底层初始化代码中，请使用 `univer.createUnit(UniverInstanceType.UNIVER_BOARD, snapshot)` 创建该单元。

```ts
const board = univerAPI.createBoard({
  id: 'board-demo',
  name: 'Board Demo',
})

const activeBoard = univerAPI.getActiveBoard()
const sameBoard = univerAPI.getBoard(board.getId())
```

## 继续了解核心功能

返回的 `FBoard` 对象是访问当前页面及其内容的入口。详细操作请继续阅读对应指南：

* [元素](https://docs.univer.ai/zh-CN/guides/boards/features/core/elements.md)介绍如何读取、插入、连接、变换、排列和删除 Board 元素。
* [容器与泳道](https://docs.univer.ai/zh-CN/guides/boards/features/core/containers.md)介绍带边框分组、元素归属和泳道结构。

## 参考资料

* [通用 API](https://docs.univer.ai/zh-CN/guides/boards/features/core/general-api.md)
* [Boards Facade 参考](https://docs.univer.ai/zh-CN/reference/facade/boards.md)
* [Board 数据模型](https://docs.univer.ai/zh-CN/guides/boards/model/board-data.md)
* [Board 元素](https://docs.univer.ai/zh-CN/guides/boards/model/board-elements.md)
