Skip to content

mxcad_2d API 文档 / 2d / MxCooperate

Class: MxCooperate ​

2d.MxCooperate

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

Description

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

  1. 通过 MxCpp.mxcad.getCooperate() 获取实例;
  2. 调用 createWork、joinWork 等接口进入协作;
  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