Web SDK

Общий API

Корневой Facade API объединяет общий рантайм Univer с плагинами Slides, зарегистрированными в приложении. На этой странице описаны команды, события, история и жизненный цикл Unit без предположения, что читатель знаком с другим типом документов Univer. Объекты презентации описаны в разделе API Univer Slides.

Создание объекта API

Создайте обёртку FUniver после регистрации экземпляра Univer и необходимых плагинов:

TypeScript
import { FUniver } from '@univerjs/core/facade'const univerAPI = FUniver.newAPI(univer)

Импортированные до этого вызова Facade-модули добавляют методы Slides в тот же объект.

Команды

executeCommand() асинхронно выполняет зарегистрированную команду. Используйте syncExecuteCommand() только для команд, которые явно поддерживают синхронное выполнение. Для обычных операций Slides предпочтительны методы Facade.

События

TypeScript
const commandLog = univerAPI.addEvent(  univerAPI.Event.CommandExecuted,  ({ id }) => console.log('Executed:', id))// Удалите слушатель, когда он больше не нужен.commandLog.dispose()

Событие BeforeCommandExecute позволяет проверить или отменить команду. LifeCycleChanged сообщает о достижении редактором этапов Rendered, Steady и других.

Отмена и повтор

Отмена и повтор действуют на текущий Unit Univer в фокусе и возвращают Promise:

TypeScript
await univerAPI.undo()await univerAPI.redo()

Изменения Slides Facade проходят через командный конвейер, поэтому поддерживаемые операции входят в ту же историю.

Системный буфер обмена

После регистрации UniverSlidesUIPlugin, когда фокус находится на холсте Slides, copy() копирует выделение, а paste() вставляет содержимое буфера обмена через команды UI Slides.

TypeScript
import '@univerjs/ui/facade'await univerAPI.copy()await univerAPI.paste()

Контекстное меню холста поддерживает обычную вставку, вставку как текста и как изображения. Текстовый режим создаёт редактируемое текстовое поле. Режим изображения использует файлы изображений или изображения из HTML буфера обмена; он не превращает произвольное содержимое в картинку.

При редактировании текста в фигуре или таблице доступны Сохранить исходное форматирование, Использовать форматирование назначения, Сохранить только текст, а также меню форматирования после вставки.

Требуются фокус в браузерном редакторе и разрешения буфера обмена; в Node.js без UI эти операции недоступны. Если чтение буфера заблокировано, используйте системное сочетание клавиш для вставки.

UI

Facade UI умеет показывать сообщения, открывать диалоги и боковые панели, регистрировать компоненты и управлять встроенными областями:

TypeScript
univerAPI  .showMessage({ content: 'Presentation saved', type: 'success' })  .setUIVisible(univerAPI.Enum.BuiltInUIPart.TOOLBAR, true)

Эти методы требуют UniverUIPlugin, а элементы редактирования Slides — также UniverSlidesUIPlugin.

WebSocket

WebSocket — необязательная возможность Network Facade:

TypeScript
import { UniverNetworkPlugin } from '@univerjs/network'import '@univerjs/network/facade'univer.registerPlugin(UniverNetworkPlugin)const socket = univerAPI.createSocket('wss://example.com/slides')socket.open$.subscribe(() => socket.send('ready'))

Протокол, аутентификация, переподключение и конфликты остаются ответственностью приложения.

Перечисления

univerAPI.Enum содержит общие перечисления и перечисления Slides:

TypeScript
const lifecycle = univerAPI.Enum.LifecycleStages.Steadyconst transition = univerAPI.Enum.SlideTransitionTypeEnum.Fadeconst elementType = univerAPI.Enum.SlidePageElementTypeEnum.Shape

Утилиты

univerAPI.Util предоставляет общие средства форматирования чисел, операций с прямоугольниками и другие инструменты:

TypeScript
const payload = univerAPI.Util.tools.deepClone({  slideId: 'slide-1',  selectedElementIds: ['element-1'],})

Насколько полезно это руководство?

© 2026 DreamNum Co., Ltd.