本帖最后由 tangan 于 2023-8-18 18:05 编辑  
 
特别注意:ThingJS-X4 官方推荐API为 THINGX命名空间,强烈禁止使用非官方推荐 uinv 命名空间,uinv 命名空间即将废弃 
 
业务 
        获取当前激活的业务名称:              THINGX.Business.getActivatedName() 
        激活业务:                                      THINGX.Business.activate('业务名称') 
        关闭当前业务:                               THINGX.Business.deactivate() 
图层 
        激活图层:                                      THINGX.Layer.activate('图层名称') 
        取消激活指定图层:                        THINGX.Layer.deactivate('图层名称') 
孪生体面板 
        THINGX下没有这个api,包括获取图层配置api也没有,配置是在插件中直接使用的,传给插件的参数中有配置信息,不用额外api获取 
标记 
        获取孪生体标记配置数据:             THINGX.Marker.getConfig(digitalTwin) 
        获取孪生体预加载标记名称:          THINGX.Marker.getPreloadName(digitalTwin) 
        显示标记:                                     THINGX.Marker.show(digitalTwin,'标记名称') 
        隐藏标记:                                     THINGX.Marker.hide(digitalTwin,'标记名称') 
        添加(创建并显示)标记:                  THINGX.Marker.add(digitalTwin,'标记名称') 
        删除标记:                                     THINGX.Marker.remove(digitalTwin,'标记名称') 
        通过标记名称获取已创建的标记:   THINGX.Marker.get(digitalTwin,'标记名称') 
        获取孪生体上所有已创建的标记:      THINGX.Marker.getAll(digitalTwin) 
操作集 
        运行操作集:                                  THINGX.OperationSet.run(name [, target] [, params]) 
                                                            eg:THINGX.OperationSet.run('取消效果',ev.object) 
        停止指定操作集:                              THINGX.OperationSet.stop(name) 
场景控制 
        激活指定场景控制功能:                    THINGX.SceneControl.activate("场景控制名称") 
        取消激活指定场景控制功能:             THINGX.SceneControl.deactivate("场景控制名称") 
视点动画 
        播放视点动画:                              THINGX.SnapshotAnimation.play("视点动画名称") 
系统告警 
        告警系统是否激活:                       THINGX.Alarm.isActivated() 
系统监控 
        监控是否激活(开启):                  THINGX.Monitor.isActivated()  当监控中没有孪生体,监控关闭 
        将孪生体添加到监控中:               THINGX.Monitor.add(digitalTwin [, '监控目的']) 会自动开启监控进行数据请求 
                                                                        注:add后,孪生体监控指标、孪生体监控事件都会进监控队列,这里不同于X3逻辑 
        将孪生体从监控中移除:               THINGX.Monitor.remove('.building','监控目的') 
        孪生体是否在监控集合中:              THINGX.Monitor.isInMonitorSet(digitalTwin) 
摄像机 
        单个孪生体飞行:                         THINGX.Camera.flyTo(digitalTwin)   //会自动判断是地球上的飞(earthFlyTo)还是(flyTo) 
                                                                        参数可选:孪生体/孪生体集合/ThingJS查询表达式 
        通过孪生体获取摄像机姿势(position/location) 
        const curLevel = app.level.current 
        THINGX.Camera.getPoseWithDigitalTwin(curLevel) 
定时器 
        创建延时:                                  THINGX.Timer.addInterval(()=>{console.warn('1')},2000,'temp') 
        获取指定id的延时实例:              THINGX.Timer.get('temp') 
        删除延时:                                                THINGX.Timer.remove('temp') 
输出前端错误消息 
THINGX.Error.report('CUSTOM_ERROR', '自定义错误', 'custom', {msg:'报错啦...'}, THINGX.Error.Level.Intercept) 
调试器 
        获取调试等级:                          THINGX.Debugger.getLevel() 
        设置调试等级:                          THINGX.Debugger.setLevel('warn')    'debug', 'log', 'info', 'warn', 'error' 
系统环境 
        系统版本库                                THINGX.System.Version 
        Members 
                   - version:string    版本号(ThingJS-X) 
       - thingjs:string    版本号(ThingJS) 
       - marker:string     版本号(标记库) 
       - geo:string        版本号(地图) 
系统工具 
        数据请求库:                            THINGX.Utils.Http.post(url,data,config).then((object)=>{xxx}); 
系统功能 
        孪生体操作相关 
                显示孪生体:                      THINGX.DigitalTwin.show(digitalTwin) 
                隐藏孪生体:                   THINGX.DigitalTwin.hide(digitalTwin) 
地球等相关操作api 
        获取地球根节点对象:              THINGX.Earth.getRoot() 
        获取地图内园区信息:              THINGX.Earth.getCampuses() 
场景相关 
        获取当前场景信息:                 THINGX.Scene.getCurrent() 
        获取入口场景信息:                 THINGX.Scene.getEntry() 
 
全局绑定事件 
THING.App.current.on(eventType [, condition] [, userData], callback [, tag] [, priority]) 
 
常用事件类型 
THINGX.EventType.XLoad                                系统加载完成        
THINGX.EventType.XEnterLevelForward          正向进入层级 
THINGX.EventType.XLeaveLevelBackward       反向离开层级结束 
 
 
举个大家常用的需求来介绍事件: 
正向进入指定分类(这里假设是楼层)层级,展示该层级孪生体面板(前提需要配置了该层级孪生体面板) 
THING.App.current.on(THINGX.EventType.XEnterLevelForward, '[twinType=楼层]', (ev) => { 
     /* 注释:ev.current 表示当前层级孪生体对象; ev.previous 表示前一层级孪生体对象 */         
    THING.App.current.selection.select(ev.current) 
},'项目定制进入指定层级展示该层级孪生体面板') 
 
暂停事件响应: 
/ / 暂停系统内置的左键双击进入下一层级操作(下面代码表示暂停双击进入二楼) 
THING.App.current.pauseEvent(THING.EventType.DBLClick, '#F2', THING.EventTag.LevelEnterMethod) 
// 暂停系统内置的右键双击返回上一层级操作( * 表示所有)THING.App.current.pauseEvent(THING.EventType.DBLClick, '*', THING.EventTag.DClickToLevelBack) 
 |   
 
 
 
 | 
| 
 | 
| 
 | 
| 
 | 
 |