mxcad_2d API 文档 / 2d / MxCooperate
Class: MxCooperate
2d.MxCooperate
MxCooperate 提供 MxCAD 的协同工作功能封装。
Description
该类支持创建协作会话、查询协作列表、加入/退出协作、初始化协作服务端参数,并监听协作状态变化。 它适用于多人实时协作、远程共享图纸、协同编辑与网络同步场景。 使用方法总结:
- 通过
MxCpp.mxcad.getCooperate()获取实例; - 调用
createWork、joinWork等接口进入协作; - 注册
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
| Name | Type |
|---|---|
mxcad | McObject |
Methods
createWork
▸ createWork(retCall?, sWorkData?, sUserId?, sUserData?): number
创建协同工作
Parameters
| Name | Type |
|---|---|
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
| Name | Type | Description |
|---|---|---|
retCall | (works: any[]) => void | 回调函数,返回当前协同工作列表。 |
Returns
number
请求结果代码。
init
▸ init(param): any
初始化协同工作的服务端参数。
例如:{ server_addres: "http://localhost:3091" }
Parameters
| Name | Type | Description |
|---|---|---|
param | object | 初始化参数对象。 |
Returns
any
joinWork
▸ joinWork(workId, retCall?, sUserId?, sUserData?): number
创建协同工作
Parameters
| Name | Type |
|---|---|
workId | number |
retCall? | (iRet: number) => void |
sUserId? | string |
sUserData? | string |
Returns
number
onEvent
▸ onEvent(retCall): void
注册协同工作事件回调。
Parameters
| Name | Type | Description |
|---|---|---|
retCall | (eventName: string, iRet: number) => void | 事件处理回调,接收事件名和结果码。 |
Returns
void
