Demo示例

  • 请联系相关人员观看Demo以及获取Demo源码

流程说明

  • 获取客户端鉴权信息

    用户名:xxx 密码:xxxxxxxx
    appId:xxxxxxxx
    appSecret:xxxxxxxxx
    像素流服务对接地址:http://0.0.0.0:xxxx
    联系大视景相关人员获取

  • 引入dsj-bvweb.js,联系相关人员获取

    <video id="showVideo"></video>
    <script src="./dsj-bvweb.js"></script>
  • 实例化

    
     let dsj = new Dsj({
        el: document.getElementById("showVideo"),// 像素渲染元素,必传
        host: document.getElementById("pixelStreamUrl").value,// 通讯地址,必传
        token: sessionStorage.getItem("token"),// token存在时优先使用,非必传
        username: document.getElementById("username").value,// token为空时必传
        password: document.getElementById("password").value,// token为空时必传
        appId: document.getElementById("appId").value,// token为空时必传
        appSecret: document.getElementById("appSecret").value,// token为空时必传
        programGuid: curProgramGuid,// 为空时默认场景列表第一个,非必传
        applyControl: true,// 申请主控默认false,非必传
        initialPosition: true,// 加载后初始位置默认false,非必传
        connectionErrorRetry: 5,// 重连次数默认5,-1无限重试,非必传
        keyboardControlModule: {
          enable: true, // 是否开启键盘控制,默认false,非必传
          moveForward: "ArrowUp", // 前移
          moveBackward: "ArrowDown", // 后移
          moveLeft: "ArrowLeft", // 左移
          moveRight: "ArrowRight", // 右移
          turnUp: "KeyW", // 抬头
          turnDown: "KeyS", // 低头
          turnLeft: "KeyA", // 左转
          turnRight: "KeyD", // 右转
          zoomIn: "KeyQ", // 放大
          zoomOut: "KeyE", // 缩小
          home: "Space" // 回到初始位置
        },
        pickModule: {
          enable: true, // 是否开启拾取模块,默认false,非必传
          retrieveAction: true,  // 是否开启检索动作,默认false,非必传
          pickHints: Dsj.PickArgs.pickHints.PickHintGeometry, // 拾取类型,查看实例化对象静态属性,非必传
          pickNodeTypes: `${Dsj.PickArgs.pickNodeTypes.label}${Dsj.PickArgs.pickNodeTypes.cameraRelay}`, // 拾取节点类型,查看实例化对象静态属性,默认[6][19],非必传
          triggerMode: Dsj.PickArgs.triggerMode.click, // 触发模式,查看实例化对象静态属性,非必传
          pickCallback: (requestParam, responseMsg) => {
            // 点拾取成功后返回,非必传
            console.log("点拾取", responseMsg);
          }
        },
        listenerModule: [
          {
            enable: false, // 是否开启监听,默认false,非必传
            eventType: Dsj.SubscribeEvent.EventType.SystemStatus,// 监听事件类型,查看实例化对象静态属性,必传
            eventID: [Dsj.SubscribeEvent.EventID.SystemStatus.All],// 监听事件ID,查看实例化对象静态属性, 默认[0]全部,非必传
            callback: (requestParam, responseMsg) => {
              console.log("系统状态", requestParam, responseMsg);
            }
          },
          {
            enable: true,
            eventType: Dsj.SubscribeEvent.EventType.Patrol,
            eventID: [Dsj.SubscribeEvent.EventID.Patrol.All],
            callback: subscribePatrolHandle
          }
        ],
        userLoginCallback: (responseMsg) => {
          // 登录成功后返回,非必传
          console.log("登录成功回调", responseMsg);
        },
        userRegisterCallback: (requestParam, responseMsg) => {
          // 获取当前场景所有用户,非必传
          console.log("用户注册回调", responseMsg);
        },
        heartCheckCallback: (requestParam, responseMsg) => {
          // 心跳回调函数每5秒返回用户状态,非必传
          // console.log("心跳检测", responseMsg);
        },
        openedCallback: (responseMsg, checkedRdpProgram) => {
          // 初始化实例成功后返回,非必传
          console.log("连接成功回调", responseMsg, checkedRdpProgram);
          if (checkedRdpProgram) {
            curProgramGuid = checkedRdpProgram.programGuid;
            document.querySelector(".checked-scene").innerHTML = checkedRdpProgram.programName;
          }
        },
      });

功能支持

  • 默认账号登录鉴权
  • 默认申请主控
  • 默认加载初始位置
  • 默认支持错误重连
  • 默认支持键盘控制
  • 默认支持鼠标控制
  • 默认支持场景节点检索
  • 默认支持节点动作检索
  • 默认支持系统状态订阅
  • 默认支持巡逻状态订阅
  • 默认支持节点飞行订阅
  • 提供登录退出相关
  • 提供获取位置列表相关
  • 提供获取巡逻路径相关
  • 提供切换场景相关
  • 提供主分控相关
  • 提供当前位置相关
  • 提供巡逻控制相关
  • 提供位置(视点)切换相关
  • ……,陆续开放或联系相关人员根据需求开放

修订记录

版本 更改说明 更新人 日期 JS库
V3.0 更新记录 崔可可 2024年12月09日 dsj-bvweb-20241209.js
V3.1 更新记录 崔可可 2024年12月12日 dsj-bvweb-20241212.js
文档更新时间: 2024-12-12 09:53   作者:北京-WEB-ckk