Skip to content

mxcad_2d API 文档 / 2d / MxCooperate

Class: MxCooperate

2d.MxCooperate

MxCooperate 提供 MxCAD 的协同工作功能封装。

Description

该类支持创建协作会话、查询协作列表、加入/退出协作、初始化协作服务端参数,并监听协作状态变化。 它适用于多人实时协作、远程共享图纸、协同编辑与网络同步场景。 使用方法总结:

  1. 通过 MxCpp.mxcad.getCooperate() 获取实例;
  2. 调用 createWorkjoinWork 等接口进入协作;
  3. 注册 onEvent 监听协作状态,并根据需要调用 exitWork() 退出。

Example

ts
// 创建协同工作并监听事件

import { MxCpp } from "mxcad";

function Mx_Cooperate_OnEvent(){
       let cooperate = MxCpp.mxcad.getCooperate();
       cooperate.onEvent((eventName: string, iRet: number)=>{
           if(eventName == "cooperate_joinWork_complete"){
               if(iRet == 0){
                   console.log("cooperate_joinWork_complete");
               }
               else{
                   console.log("cooperate_joinWork_complete return failed,error code:" + iRet);
               }
           }
           else if(eventName == "cooperate_work_network_disconnection"){
               console.log("cooperate_work_network_disconnection");
           }
       })
   }
   function Mx_Cooperate_Create() {
       let cooperate = MxCpp.mxcad.getCooperate();
       let workName = "TestWork";
       let userId = "54134";
       let userData = "TestData";
       cooperate.createWork((workid:number) => {
           if (workid > 0) {
               console.log("create cooperate ok,work name:" + workName + ",id:" + workid);
           }
           else {
               let lErrorCode  = -workid;
               console.log("create cooperate failed,error code:" + lErrorCode);
               if(lErrorCode == 4){
                   console.log("create cooperate Has been created");
               }
           }
       },workName,userId,userData);
   
       Mx_Cooperate_OnEvent();
   }

Table of contents

Constructors

Methods

Constructors

constructor

new MxCooperate(mxcad)

Parameters

NameType
mxcadMcObject

Methods

createWork

createWork(retCall?, sWorkData?, sUserId?, sUserData?): number

创建协同工作

Parameters

NameType
retCall?(wrokId: number) => void
sWorkData?string
sUserId?string
sUserData?string

Returns

number


exitWork

exitWork(): number

退出当前协同工作。

Returns

number

操作结果代码。


getStatus

getStatus(): number

获取当前协同工作的状态。

Returns

number

协同状态编码。


getWorks

getWorks(retCall): number

获取当前正在协同的工作列表。

Parameters

NameTypeDescription
retCall(works: any[]) => void回调函数,返回当前协同工作列表。

Returns

number

请求结果代码。


init

init(param): any

初始化协同工作的服务端参数。

例如:{ server_addres: "http://localhost:3091" }

Parameters

NameTypeDescription
paramobject初始化参数对象。

Returns

any


joinWork

joinWork(workId, retCall?, sUserId?, sUserData?): number

创建协同工作

Parameters

NameType
workIdnumber
retCall?(iRet: number) => void
sUserId?string
sUserData?string

Returns

number


onEvent

onEvent(retCall): void

注册协同工作事件回调。

Parameters

NameTypeDescription
retCall(eventName: string, iRet: number) => void事件处理回调,接收事件名和结果码。

Returns

void