类: FCollaboration
The Facade API object for the Collaboration module. It provides methods to interact with the Univer Collaboration backend server, such as loading Univer Sheets and subscribing to collaborators.
继承
FBase
方法
getCollaborationStatus()
getCollaborationStatus(unitId?): CollaborationStatusGet the synchronization status of a unit.
参数
| 参数 | 类型 | 描述 |
|---|---|---|
unitId? | string | Optional unit ID. If not provided, uses the focused unit. |
返回
CollaborationStatus
The current synchronization status. Returns CollaborationStatus.NOT_COLLAB if no unit is found or collaboration is not enabled.
Possible status values:
NOT_COLLAB: Not in collaboration modeSYNCED: All changes are synchronizedPENDING: Local changes waiting to be sentAWAITING: Changes sent, waiting for server acknowledgementAWAITING_WITH_PENDING: Awaiting acknowledgement with new local changesFETCH_MISS: Fetching missing changesets from serverCONFLICT: Conflict detected and being resolvedOFFLINE: Network is offline
示例
const collaboration = univerAPI.getCollaboration();
// Node environment - specify unitId
const workbook = await collaboration.loadSheetAsync('unit-id');
await new Promise((resolve) => setTimeout(resolve, 1000)); // Wait for collaboration to initialize
const status = collaboration.getCollaborationStatus('unit-id');
// Browser environment - use focused unit (backward compatible)
const status = collaboration.getCollaborationStatus();
// Check if synchronized
if (status === univerAPI.Enum.CollaborationStatus.SYNCED) {
console.log('All changes are synced!');
}loadActiveSheet()
loadActiveSheet(): Promise<FWorkbook>返回
Promise<FWorkbook>
The FWorkbook or null if the active Univer Sheet cannot be loaded.
已被弃用
Use loadActiveSheetAsync instead.
loadActiveSheetAsync()
loadActiveSheetAsync(): Promise<FWorkbook>Load the active Univer Sheet. It should be associated with the Uniscript Node.js Runtime.
返回
Promise<FWorkbook>
The FWorkbook or null if the active Univer Sheet cannot be loaded.
抛出
If the method is not overridden.
示例
const collaboration = univerAPI.getCollaboration();
const workbook = await collaboration.loadActiveSheetAsync();loadSheet()
loadSheet(unitId): Promise<FWorkbook>参数
| 参数 | 类型 | 描述 |
|---|---|---|
unitId | string | The Id of the Univer Sheet that you would like to load. |
返回
Promise<FWorkbook>
The FWorkbook or null if the Univer Sheet cannot be loaded.
已被弃用
Use loadSheetAsync instead.
loadSheetAsync()
loadSheetAsync(unitId, context?): Promise<FWorkbook>Load a Univer Sheet from the server with a unit ID.
参数
| 参数 | 类型 | 描述 |
|---|---|---|
unitId | string | ID of the Univer Sheet that you would like to load. |
context? | ILogContext$1 | Optional context. |
返回
Promise<FWorkbook>
The FWorkbook or null if ID cannot be associated with a Univer Sheet.
示例
const collaboration = univerAPI.getCollaboration();
const workbook = await collaboration.loadSheetAsync('your-unit-id');subscribeCollaborators()
subscribeCollaborators(unitId, callback): IDisposableSubscribe collaborators of a Univer file.
参数
| 参数 | 类型 | 描述 |
|---|---|---|
unitId | string | ID of the Univer file. |
callback | (members) => void | A callback function that will be called when the collaborators change. |
返回
IDisposable
A handler to dispose the subscription.
示例
const collaboration = univerAPI.getCollaboration();
collaboration.subscribeCollaborators('your-unit-id', (members) => {
console.log(members);
});