API générale

La Facade API racine associe l’environnement Univer commun aux plugins Slides enregistrés par cette application. Cette page présente les commandes, les événements, l’historique et le cycle de vie des unités sans supposer une expérience d’un autre type de document Univer. Pour les objets de présentation, poursuivez avec API Univer Slides.

Créer l’objet API

Créez un wrapper FUniver après avoir enregistré l’instance Univer et les plugins requis :

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

Les entrées Facade importées avant cet appel ajoutent les méthodes Slides au même objet.

Commandes

executeCommand() exécute une commande enregistrée de façon asynchrone. N’utilisez syncExecuteCommand() que si cette commande prend explicitement en charge l’exécution synchrone. Préférez les méthodes Facade pour les opérations Slides courantes.

Événements

TypeScript
const commandLog = univerAPI.addEvent(  univerAPI.Event.CommandExecuted,  ({ id }) => console.log('Executed:', id))// Supprimez ensuite l’écouteur.commandLog.dispose()

Utilisez BeforeCommandExecute pour inspecter ou annuler une commande. LifeCycleChanged indique lorsque l’éditeur atteint des étapes telles que Rendered et Steady.

Annuler et rétablir

Ces opérations ciblent l’unité Univer actuellement active et renvoient des promesses :

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

Les mutations de la Facade Slides empruntent le pipeline de commandes et participent donc au même historique lorsqu’elles sont prises en charge.

Presse-papiers système

Avec UniverSlidesUIPlugin enregistré et le focus sur le canevas Slides, copy() copie la sélection courante et paste() insère le contenu du presse-papiers via les commandes UI de Slides.

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

Le menu contextuel du canevas propose le collage normal, en texte et en image. Le mode texte crée une zone de texte modifiable. Le mode image utilise les fichiers image ou les ressources image du HTML du presse-papiers ; il ne convertit pas un contenu quelconque en image.

Pendant l’édition de texte dans une forme ou un tableau, l’éditeur propose Conserver la mise en forme source, Adapter à la destination et Conserver uniquement le texte, ainsi qu’un menu de format après collage.

Ces opérations nécessitent le focus dans un éditeur du navigateur et les permissions du presse-papiers. Elles ne fonctionnent pas dans un environnement Node.js limité au modèle. Si la lecture est bloquée, utilisez le raccourci système de collage.

UI

La Facade UI peut afficher un message, ouvrir une boîte de dialogue ou une barre latérale, enregistrer des composants et contrôler les zones intégrées :

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

Ces méthodes nécessitent UniverUIPlugin ; les commandes d’édition Slides nécessitent aussi UniverSlidesUIPlugin.

WebSocket

WebSocket est une capacité facultative de la 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'))

Le protocole, l’authentification, la reconnexion et les conflits restent à la charge de l’application hôte.

Énumérations

univerAPI.Enum expose les énumérations communes et celles ajoutées par Slides :

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

Utilitaires

univerAPI.Util expose des aides partagées, notamment le formatage des nombres, les opérations sur les rectangles et les outils communs :

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

Que pensez-vous de ce guide ?

© 2026 DreamNum Co., Ltd.