基础模块 SDK

更新时间:2024-09-12 10:37:59下载pdf

@ray-js/wechat-ms-basic SDK 提供了门锁小程序的基础能力,包括远程开锁,获取实时视频拉流地址,获取视频首帧图,以及判断设备类型等。

安装

yarn add @ray-js/wechat-ms-basic
// or
npm install @ray-js/wechat-ms-basic

查询用户详细信息

getUser

无法查询分享成员的详细信息。

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
user_id string or number 用户 ID,默认是 0,查询当前用户 false

返回参数

参数名 类型 描述
avatar_url string 头像 URL
lock_user_id number 锁用户 ID
nick_name string 昵称
user_contact string 联系方式
user_id string 用户 ID
user_type number
  • 0:未知人员类型
  • 10:管理员
  • 20:普通家人
  • 30:成员
  • 50:家庭拥有者

请求示例

import MsBasicApi from '@ray-js/wechat-ms-basic';

MsBasicApi.getUser(device_id)
  .then(response => {
    console.log(response);
  })
  .catch(error => console.log(error));

返回示例

{
  user_type: 50,
  avatar_url: 'https://images.tuyacn.com/xxxxxxx.png',
  user_id: '5958862',
  nick_name: 'Alice',
  user_contact: 'xxxxxx@tuya.com',
  lock_user_id: 1
}

获取远程开锁密钥

getRemoteUnlockTicket

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true

返回参数

参数名 类型 描述
ticket_id string 临时秘钥 ID
ticket_key string 临时秘钥 Key
expire_time number 剩余有效时间

远程开锁

getRemoteUnlock

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
ticket_id string 授权的密钥 ID,从 getRemoteUnlockTicket 中获取 true

返回参数

返回参数为 boolean 类型,表示是否远程开锁成功。

拒绝远程开锁请求

rejectRemoteUnlock

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true

返回参数

返回参数为 boolean 类型,表示是否成功拒绝远程开锁请求。

获取设备下的最新 DP 数据

getLastDpCache

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true

返回参数

各个 DP 数据,JSON 格式。

获取硬件设备型号信息

getHardwareType

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true

返回参数

参数名 类型 描述
code string 品类 Code,videolock 表示可视对讲门锁
hardware string 硬件类型

查询最近一次 DP 212 上报的数据

getLatestDp212

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true

返回参数

参数名 类型 描述
file_key string 加密密钥
file_url string 文件地址,全路径
angle number 旋转角度

获取加密的首帧图地址

getDecryptUrl

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
encrypted_url string 文件 URL,需要对从 getLatestDp212 中获取的 file_url 进行 Base64 编码处理 true
secret_key string 文件 Key,也就是从 getLatestDp212 中获取的 file_key true

返回参数

参数名 类型 描述
url string 图片地址,需要进行 Base64 解码

使用示例

import MsBasicApi from '@ray-js/wechat-ms-basic';

const result = await MsBasicApi.getLatestDp212(device_id);
const { file_key, file_url, angle } = result;
const encodeUrl = await MsBasicApi.getDecryptUrl({
  device_id,
  encrypted_url: MsBasicApi.base64encode(file_url),
  secret_key: file_key,
});
const imgUrl = MsBasicApi.base64decode(encodeUrl);

获取实时视频拉流地址

getLockMediaStream

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true

返回参数

参数名 类型 描述
url string 拉流地址

获取旋转角度

getRotateAngle

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true

返回参数

参数名 类型 描述
angle number 旋转角度

获取 Skill 技能

getDevSkill

获取 Skill 技能,即视频流的宽度和高度等信息。

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true

返回参数

返回参数为 String 格式,需要将字符串传为 JSON 格式。

返回示例

'{"cloudGW":1,"cloudP2P":1,"audios":[{"channels":1,"dataBit":16,"codecType":106,"sampleRate":8000}],"videos":[{"streamType":2,"profileId":"","width":1280,"codecType":2,"sampleRate":90000,"height":720}],"p2p":4}'

H.264 设备判断:videos[0].codecType === 2 && videos[0].streamType === 2

获取 RTC 配置

getRtcConfig

获取 RTC 配置,包含 Skill 技能。

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true

返回参数

参数名 类型 描述
skill string skill 技能,同 getDevSkill

获取 clientId

getAppClientId

请求参数

返回参数

返回参数为 String 格式,即 clientId

获取 Ticket

getTicket

请求参数

参数名 类型 描述 是否必传
uid string 用户 ID true

返回参数

参数名 类型 描述
ticket string 票据
expire_time number 失效时间

获取最近一次的远程开门或告警封面图

getMediaUrl

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
file_type number 文件类型
  • 1:远程开门
  • 2:告警
true

返回参数

参数名 类型 描述
file_url string 封面图完整路径
file_key string 文件解密密钥
bucket string 封面图完整路径
file_path string 文件的相对路径

获取 DP 数据解密后的 URL

getDecryptUrlByDpData

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
dp_data sting 加密的 DP 数据 true

返回参数

返回参数为 String 格式,需要 Base64 解码。

获取 NG 后台配置信息

getProductConfig

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true
props sting 属性名,多个属性名用逗号分隔。如果为空,则返回所有属性名 true

返回参数

返回参数为 JSON 格式。

检验设备是否具有高级能力

getCapabilityTag

请求参数

参数名 类型 描述 是否必传
device_id string 设备 ID true

返回参数

参数名 类型 描述
isHas100w boolean 是否具备 100 万像素视频高级能力
isHas200w boolean 是否具备 200 万像素视频高级能力