npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

uno-info-sdk

v1.0.1

Published

通信开发模式sdk

Downloads

118

Readme

Installation

npm install uno-info-sdk --save

Usage

import { IndustrySDK } from 'uno-info-sdk';

const industrysdk = new IndustrySDK({
  service: 'wss://pre-citybrain-open.aliyun.com/app/space-ws/ws',
  registerData: {
    name: "注册消息B",
    group: "industry_room"
  },
  source: 'web',
  target: 'web'
});

const { camera } = industrysdk;

sdk.wsClient.on('load', () => {
  camera.focus.toTarget({
    camera: [26957,52297,63267],
    lookat: [55849,60942,67897],
    layer: "Impedit hic aliquam omnis molestias aspernatur.",
    target: "Asperiores et unde dolor rerum rem est aperiam."
  })
})

sdk.listener('camera.focus.toTarget', (data) => {
  console.log(data)
})

Options

| 属性名 | 说明 | 必填 | 类型 | 默认值 | | :-----| :---- | :----: | :---- | :----: | | service | 需要连接的服务地址 | 是 | String | - | | source | 当前客户端id | 否 | String | - | | target | 消息发送目标端 | 否 | Array | - | | roomExclude | 当前广播需要过滤的端, target优先级高 | 否 | Array | - | | registerData | 注册内容 | 是 | {name: string, group: string, hasCbMsg}RegisterData | - | | extraWs | websocket扩展配置 | 否 | Options | {} |

Instance API

| 属性名 | 说明 | 类型 | 备注 | | :-----| :---- | :---- | :---- | | listener | 按event和action监听消息内容返回 | (eventName: string, callback: (message: object) => void) => void | eventName规则: sdk_${event}.${action},'.action'非必填。Default Events | | registerEvent | 注册自定义事件 | (eventName: string, parser: (data) => data)) => {} | eventName规则: sdk_${event}.${action},'.action'非必填 | | send | 发送消息 | (event: string, message: object) => {} | - | | updateOptRetry | 更新配置后重新初始化 | (opts: Options) => {} | - | | destroy | 销毁函数 | Function | - |

RegisterData

| 属性名 | 说明 | 必填 | 类型 | 默认值 | | :-----| :---- | :----: | :----: | :----: | | name | 发送端名称 | 否 | string | - | | group | 消息通道房间名称 | 是 | string | - | | hasCbMsg | 注册消息是否需要广播 | 否 | boolean | - | | disconnectTime | 长时间不发送消息时,服务端主动断开服务需要的时间 | 否 | number | 60000 |

SDK json结构

[
  {
    "name": "对象查看", // dk大类名称
    "desc": "", // sdk大类描述
    "entity": "camera", // sdk作用实体
    "category": "sequence", // sdk所属分类
    "actionCode": "focus", // sdk的action
    "params": [{ // sdk参数配置
      "name": "camera", // 参数名称
      "type": "[number, number, number]", // 参数类型,typescript语法
      "require": true, // 参数是否必填
      "desc": "" // 参数描述
    }, {
      "name": "lookat",
      "type": "[number, number, number]",
      "require": true,
      "desc": ""
    }, {
      "name": "layer",
      "type": "string",
      "require": false,
      "desc": ""
    }, {
      "name": "target",
      "type": "string",
      "require": false,
      "desc": ""
    }],
    "children": {
      "toTarget": { // sdk子类code
        "name": "对象特写", // sdk子类名称
        "fields": [ // sdk子类参数字段,取大类的params中的key
          "camera", //name是这个字符串的参数,配置同大类
          "lookat",
          {  "target": true },, // name是这个对象的key的参数,配置同大类,但是require以当前的value为准
          { "layer": true }
        ],
        "desc": ""
      },
      "fixed": {
        "name": "定点特写",
        "fields": ["camera", "lookat"],
        "desc": ""
      }
    }
  }
]

SDK文档v1.0.0

调用方式:sdkName({ param1, param2, ... })

1、对象查看镜头

sdkName: camera.focus

描述:调用系统镜头对单一指定对象或指定位置进行查看

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | camera | [number, number, number] | 是 | 镜头的相机参数 | | lookat | [number, number, number] | 是 | 镜头的视点参数 | | layer | string | 否 | 对象的图层名 | | target | string | 否 | 对象ID |

1.1、对象特写

sdkName: camera.focus.toTarget

描述:调用镜头实现对任意位置的定点特写。如:对隧道口、匝道口做特写

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | camera | [number, number, number] | 是 | 镜头的相机参数 | | lookat | [number, number, number] | 是 | 镜头的视点参数 | | target | string | 是 | 对象ID | | layer | string | 是 | 对象的图层名 |

1.2、定点特写

sdkName: camera.focus.fixed

描述:调用系统镜头实现对一个指定静态对象ID的定点特写,被特写对象会有外轮廓高亮。如:实现对某个杆子或路侧设备的特写

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | camera | [number, number, number] | 是 | 镜头的相机参数 | | lookat | [number, number, number] | 是 | 镜头的视点参数 |


2、多对象查看镜头

sdkName: camera.show

描述:调用系统镜头对多个指定对象进行查看

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | layer | string | 是 | 对象的图层名 | | target | [string] | 是 | 对象ID数组 |


3、跟踪镜头

sdkName: camera.track

描述:调用系统镜头实现对一个指定动态对象或不指定ID的任一对象实施动态跟踪,被跟踪对象会有外轮廓高亮

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | layer | string | 是 | 对象的图层名 | | target | string | 否 | 对象ID | | target_type | string | 否 | 对象类型 | | continuously | boolean | 否 | 是否连续跟踪,即跟丢了再选同类的下一个对象 | | location | [number,number,number] | 否 | 被跟踪对象的位置: 三维场景只加载当前范围内的车辆,如果被跟踪对象不在当前范围就找不到该对象,需要先让三维场景跳转到被跟踪对象的位置(location参数),加载新范围内的车辆再进行跟踪 | | cameraMode | string | 否 | 跟踪视角("Car"(车内), "Drone"(无人机跟车), "Flight"(高空俯视)) | | cameraDistance | [number,number] | 否 | 镜头相对被跟踪对象的位置,默认值[3,2] |

3.1、指定对象(ID)跟踪

sdkName: camera.track.toTarget

描述:调用系统镜头实现对一个指定动态对象实施动态跟踪

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | layer | string | 是 | 对象的图层名 | | target | string | 是 | 对象ID | | continuously | boolean | 是 | 是否连续跟踪,即跟丢了再选同类的下一个对象 | | location | [number,number,number] | 是 | 被跟踪对象的位置: 三维场景只加载当前范围内的车辆,如果被跟踪对象不在当前范围就找不到该对象,需要先让三维场景跳转到被跟踪对象的位置(location参数),加载新范围内的车辆再进行跟踪 | | cameraMode | string | 是 | 跟踪视角("Car"(车内), "Drone"(无人机跟车), "Flight"(高空俯视)) | | cameraDistance | [number,number] | 是 | 镜头相对被跟踪对象的位置,默认值[3,2] |

3.2、不指定对象(ID)跟踪

sdkName: camera.track.noTarget

描述:调用系统镜头实现对不指定ID的任一对象实施动态跟踪

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | layer | string | 是 | 对象的图层名 | | continuously | boolean | 是 | 是否连续跟踪,即跟丢了再选同类的下一个对象 | | target_type | string | 是 | 对象类型 | | cameraMode | string | 是 | 跟踪视角("Car"(车内), "Drone"(无人机跟车), "Flight"(高空俯视)) | | cameraDistance | [number,number] | 是 | 镜头相对被跟踪对象的位置,默认值[3,2] |

3.3、释放跟踪镜头

sdkName: camera.track.release

描述:取消跟踪

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | layer | string | 是 | 对象的图层名 | | target | string | 是 | 对象ID |


4、预设镜头

sdkName: camera.call

描述:调用预先编排好的一个镜头序列

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | sequence | [string] | 是 | 预设镜头的数组 |


5、释放镜头

sdkName: camera.release

描述:解锁原来的任何镜头

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | cameraOffset | [number,number,number] | 是 | 释放后镜头相对最后位置的位移 |


6、切换跟踪视角

sdkName: camera.switchMode

描述:在对象跟踪镜头下切换跟踪视角

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | cameraMode | string | 是 | 跟踪视角("Car"(车内), "Drone"(无人机跟车), "Flight"(高空俯视)) |


7、隐藏三维图层

sdkName: layer.hide

描述:隐藏三维图层

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | layer | string | 是 | 图层名 |


8、显示三维图层

sdkName: layer.show

描述:显示三维图层

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | layer | string | 是 | 图层名 |


9、隐藏面板图层

sdkName: billboard.hide

描述:隐藏面板图层

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | layer | string | 是 | 图层名 |


10、显示面板图层

sdkName: billboard.show

描述:显示面板图层

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | layer | string | 是 | 图层名 |


11、切换气象

sdkName: climate.setup

描述:切换场景中的天气、日照等状态

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | weather | [string] | 是 | 气象状态数组(foggy、rainy、snowy),数组为空即为晴天 | | sunlight | string | 是 | 日夜切换,day/night |


12、恢复气象

sdkName: climate.reset

描述:恢复场景中的天气和日照状态

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- |


13、切换数据环境

sdkName: env.changeEnv

描述:切换场景中的数据环境,即车辆、事件等数据来源从实时模式切换为历史模式或仿真模式

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | env | string | 是 | 数据环境名称 | | isPlaying | boolean | 是 | 是否播放 |


14、指定时间播放

sdkName: env.play

描述:在非实时环境下实现从指定日期指定时间开始播放

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | playTime | string | 是 | 开始播放的时间 | | isPlaying | true | 是 | 播放 | | uniqueId | string | 是 | 一次播放的ID | | env | string | 是 | 数据环境名称(playback历史数据, simulation仿真数据, release实时数据) |


15、暂停播放

sdkName: env.pause

描述:在非实时环境下实现暂停播放

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | playTime | string | 是 | 停止播放的时间 | | isPlaying | false | 是 | 暂停播放 | | uniqueId | string | 是 | 一次播放的ID | | env | string | 是 | 数据环境名称(playback历史数据, simulation仿真数据, release实时数据) |


16、请求地图同步

sdkName: map.request

描述:web端请求UE端发送地图位置信息,用于一些需要三维场景跳转到新位置之后再响应的web消息

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | entity | string | 是 | 被同步对象为地图参数 |


17、监听地图同状态

sdkName: camera.update

描述:UE端返回web端请求的地图位置信息(响应web的请求地图同步)

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | position | [number, number, number] | 是 | 三维场景当前的位置 |


18、呼出web的跟车控制面板

sdkName: layer.switchCameraUI

描述:UE找到车辆开始跟踪之后,控制web端打开/关闭web的跟车控制面板

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | enable | boolean | 是 | 打开/关闭面板 |


19、孪生设备同步

sdkName: layer.update

描述:UE端返回视频接力中当前设备视频流和下一路设备的视频流地址

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | value | { this: string; next: string; } | 是 | 视频接力中的当前视频流和下一个视频流 | | entity | string | 是 | 被操作对象为图层 |


20、对象悬浮选择

sdkName: layer.hover

描述:UE端返回当前鼠标悬浮的对象

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | layer | string | 是 | 被高亮对象的图层名 | | target | string | 是 | 被高亮对象的ID |


21、对象双击选择

sdkName: layer.dclick

描述:UE端返回当前鼠标点击的对象

| 字段名 | 字段类型 | 是否必须 | 描述 | | :---: | :---: | :---: | :--- | | layer | string | 是 | 被高亮对象的图层名 | | target | string | 是 | 被高亮对象的ID |