分享
查看: 1282|回复: 0

[分享] ThingJS-X4 API

[复制链接]

ThingJS-X4 API

发表于 2023-8-18 17:59:15 来自 分享 阅读模式 倒序浏览
zzv_icon1282 zzr_icon0 查看全部
本帖最后由 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)
avatar
游客~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

130700ppkpl8x3t7tt1b1t