API general

La API Facade disponible en Univer depende del tipo de unidad actual y de los complementos registrados. Esta página presenta las API comunes de una aplicación Univer Docs.

Importación

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

Comandos

La mayoría de las operaciones de Univer se registran en el sistema de comandos. Esta ruta de ejecución unificada permite funciones como deshacer, rehacer y la colaboración.

Para conocer el diseño con más detalle, consulte el sistema de comandos de Univer.

Escuchar comandos

Use Event.BeforeCommandExecute para ejecutar lógica antes de un comando y Event.CommandExecuted para ejecutarla cuando termine.

TypeScript
const beforeDisposable = univerAPI.addEvent(univerAPI.Event.BeforeCommandExecute, ({ id, params }) => {  console.log('Antes del comando:', id, params)})const afterDisposable = univerAPI.addEvent(univerAPI.Event.CommandExecuted, ({ id, params }) => {  console.log('Comando ejecutado:', id, params)})

Para impedir que se ejecute un comando, establezca event.cancel en true desde un listener de BeforeCommandExecute.

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.BeforeCommandExecute, (event) => {  if (event.id === 'doc.command.set-name') {    event.cancel = true  }})

Los listeners devuelven un objeto IDisposable. Destrúyalos cuando ya no sean necesarios.

TypeScript
beforeDisposable.dispose()afterDisposable.dispose()disposable.dispose()

Ejecutar comandos

Si conoce el ID de un comando y sus parámetros, ejecútelo con FUniver.executeCommand. Por ejemplo, este comando de Docs cambia el nombre del documento activo:

TypeScript
const document = univerAPI.getActiveDocument()if (document) {  await univerAPI.executeCommand('doc.command.set-name', {    unitId: document.getId(),    name: 'Notas del proyecto',  })}

API de eventos

Los eventos expuestos a través de univerAPI.Event proceden del núcleo de Univer y de los complementos registrados en la aplicación. El núcleo aporta eventos de comandos y del ciclo de vida de los documentos; los complementos de Docs pueden ampliar esa superficie. Antes de usar un evento, compruebe que pertenece a un complemento registrado.

Consulte la referencia de eventos de Facade para ver los nombres y tipos de parámetros disponibles en la versión actual.

Use addEvent para suscribirse y destruya el objeto devuelto para cancelar la suscripción:

TypeScript
const disposable = univerAPI.addEvent(univerAPI.Event.CommandExecuted, ({ id }) => {  if (id === 'doc.command.set-name') {    console.log('El nombre del documento ha cambiado')  }})// Elimine el listener cuando ya no sea necesariodisposable.dispose()

Deshacer y rehacer

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

Portapapeles del sistema

Después de registrar el complemento de interfaz de Docs, copy y paste actúan sobre la selección y la posición del cursor actuales del documento.

TypeScript
await univerAPI.copy()await univerAPI.paste()

Copiar y pegar dependen de la API nativa del portapapeles del navegador. Pueden fallar si la página no tiene el foco, si la llamada no se inicia mediante una acción del usuario o si no hay permiso para acceder al portapapeles. Consulte la documentación de MDN.

UI

Consulte Componentes de la interfaz de Docs para ampliar los menús, la barra de herramientas y otras zonas de la interfaz de Docs.

WebSocket

Las instalaciones con presets exponen univerAPI.createSocket(url). En modo complemento, instale @univerjs/network, registre UniverNetworkPlugin e importe primero su extensión Facade.

TypeScript
import { UniverNetworkPlugin } from '@univerjs/network'import '@univerjs/network/facade'univer.registerPlugin(UniverNetworkPlugin)

Después puede suscribirse a los eventos del socket, enviar mensajes y cerrar la conexión:

TypeScript
const socket = univerAPI.createSocket('wss://example.com/docs')socket.open$.subscribe(() => {  socket.send('hello')})socket.message$.subscribe((message) => {  console.log('Mensaje WebSocket:', message.data)})socket.error$.subscribe((error) => {  console.error('Error de WebSocket:', error)})socket.close()

API de enumeración

Facade expone enumeraciones comunes mediante univerAPI.Enum:

TypeScript
console.log(univerAPI.Enum.UniverInstanceType.UNIVER_DOC)console.log(univerAPI.Enum.LifecycleStages.Rendered)

API de métodos de utilidad

Facade expone utilidades compartidas mediante univerAPI.Util:

TypeScript
console.log(univerAPI.Util.tools.isString('Univer Docs')) // true

¿Cómo es esta guía?

© 2026 DreamNum Co., Ltd.