通用

本文介绍 @ray-js/ray-ipc-utils 中封装的业务 API, 开箱即用, 版本要求为 ^1.1.7。

1. 原生页面跳转

功能说明

以下功能部分页面实现为原生 (App) 页面, 目前暂不支持自定义开发,如需了解更多,可进一步咨询及反馈给我们。

请求参数

参数数据类型说明是否必填
idstring路由ID是
deviceIdstring设备ID是
themethemeType主题色否
paramsobject路由拼参 (默认值为)否
isGeneralboolean是否通用页面(默认值为false)否

themeType 字段详解

参数数据类型
undefined默认配置值,自适应跟随 APP 主题色
dark暗黑模式
light明亮模式

相册

路由 id: ipc_album_panel

请求示例


import { goToIpcPageNativeRoute } from '@ray-js/ray-ipc-utils';

const id = 'ipc_album_panel';
const deviceId = '1234567890xxxxxx';

const result = await goToIpcPageNativeRoute(id, deviceId);

回放聚合(推荐)

💡 注意:@ray-js/ray-ipc-utils版本 >= 1.1.11 。

请求示例


import { goToIpcPlayBackHubNativePage } from '@ray-js/ray-ipc-utils';

const deviceId = '1234567890xxxxxx';

const sdCardState = true; // SD卡状态是否正常: 根据业务实际情况传入, 一般取值标准DP sd_status 等于 1 时为 true

const result = await goToIpcPlayBackHubNativePage(deviceId, sdCardState);

回放

💡 注意 从 APP 650 版本开始,先前的云回放和 SD 卡回放合二为一,统称为回放。

云回放 id: camera_cloud_panel SD 卡回放 id: camera_playback_panel。

说明: 回放页面内部会做一定的逻辑判断,如: 设备本身不支持云存储能力,即使跳转云回放路由,也不会展示云存储 Tab

请求示例


import { goToIpcPageNativeRoute } from '@ray-js/ray-ipc-utils';

const id = 'camera_cloud_panel';
const deviceId = '1234567890xxxxxx';

const result = await goToIpcPageNativeRoute(id, deviceId);

消息

消息页面涉及各种消息的展示,主要分为:普通事件报警、门铃消息、AI消息等。内部涉及到图片的解密、渲染,视频的解密播放等等。

路由 id: camera_message_panel

请求示例


import { goToIpcPageNativeRoute } from '@ray-js/ray-ipc-utils';

const id = 'camera_message_panel';
const deviceId = '1234567890xxxxxx';

const result = await goToIpcPageNativeRoute(id, deviceId);

语音管理

路由 id: ipc_doorbell_voice_manager

请求示例


import { goToIpcPageNativeRoute } from '@ray-js/ray-ipc-utils';

const id = 'ipc_doorbell_voice_manager';
const deviceId = '1234567890xxxxxx';

const result = await goToIpcPageNativeRoute(id, deviceId);

2. 获取摄像头配置接口

功能说明

用于获取指定摄像头设备的配置信息,例如: 喇叭、对讲、清晰度、画面放大倍数配置等。

请求参数

参数数据类型说明是否必填
deviceIdstring设备ID是

返回参数 data

参数数据类型说明
microphoneSettingsobject拾音器相关配置信息
intercomInfoobject对讲相关配置信息
videoResolutionobject清晰度相关配置信息
maxZoomSettingsnumber播放器缩放的最大倍数

字段详解:microphoneSettings

参数数据类型说明
isMicrophoneSupportedboolean是否支持喇叭功能
defaultMuteModeboolean默认是否静音(true 为静音)
cachedMuteModeboolean最近一次的静音配置(记忆值)

字段详解:intercomInfo

参数数据类型说明
isIntercomSupportedboolean是否支持对讲
defaultIntercomModeOneWay 或 TwoWay默认对讲方式
cachedIntercomModeOneWay 或 TwoWay最近一次的静音配置(记忆值)
supportedIntercomModesarray ['OneWay', 'TwoWay']支持的对讲方式列表

对讲方式解析

参数说明备注
OneWay单向对讲对讲开启时,关闭喇叭,对讲结束后,喇叭开启,类似对讲机
TwoWay双向对讲对讲开启时,打开喇叭,对讲结束后,喇叭开启,类似语音通话

字段详解:videoResolution

参数数据类型说明
defaultResolutionClarityType默认清晰度
cachedResolutionClarityType最近一次的清晰度配置 (记忆值)
availableResolutionsarray, ClarityType[]支持的清晰度列表

清晰度类型详解: ClarityType

参数说明备注
SS省流量-
SD标清常用
HD高清常用
UD超清-
SSP超超清
AUTO自动P2P 4.0 版本及以上支持

清晰度列表取值,主要以产品 pid 纬度进行配置,默认值 ['HD', 'SD'], 如需配置特殊值,请与项目经理确认反馈配置。

请求示例


import { getCameraConfigInfo } from '@ray-js/ray-ipc-utils';

const deviceId = '1234567890xxxxxx';

const result = await getCameraConfigInfo(deviceId);

返回示例

{
  "code": 0,
  "data": {
    "microphoneSettings": {
      "isMicrophoneSupported": true,
      "defaultMuteMode": false,
      "cachedMuteMode": true
    },
    "intercomInfo": {
      "isIntercomSupported": true,
      "defaultIntercomMode": "OneWay",
      "cachedIntercomMode": "OneWay",
      "supportedIntercomModes": ["OneWay", "TwoWay"]
    }
  }
}

3. 是否支持云存储

功能说明

用于获取指定摄像头设备的是否具有云存储存储能力。

请求参数

参数数据类型说明是否必填
deviceIdstring设备ID是

返回参数 data

  • true: 支持
  • false: 不支持

请求示例


import { getIsSupportedCloudStorageSync } from '@ray-js/ray-ipc-utils';

const deviceId = '1234567890xxxxxx';

const result = await getIsSupportedCloudStorageSync(deviceId);

返回示例

{
  "code": 0,
  "data": true
}

4. 获取信号强度值

功能说明

用于获取指定摄像头设备出流时的信号强度值。

请求参数

参数数据类型说明是否必填
deviceIdstring设备ID是

返回参数 data

信号强度值,取值范围 0~100,0 表示信号强度最弱,100 表示信号强度最强, 单位为%

请求示例


import { requestWifiSignal } from '@ray-js/ray-ipc-utils';

const deviceId = '1234567890xxxxxx';

const result = await requestWifiSignal(deviceId);

返回示例

{
  "code": 0,
  "data": 100
}

5. 获取视频码率

功能说明

用于获取指定摄像头设备出流时单位时间内传输的数据量。

请求参数

参数数据类型说明是否必填
deviceIdstring设备ID是

返回参数 data

视频码率,数值大于等于 0 单位为 KB/S

请求示例


import { getVideoBitrateKbps } from '@ray-js/ray-ipc-utils';

const deviceId = '1234567890xxxxxx';

const result = await getVideoBitrateKbps(deviceId);

返回示例

{
  "code": 0,
  "data": 100
}

6. 画中画

是否支持

功能说明

首先需判定设备是否支持此功能。

请求参数

参数数据类型说明是否必填
deviceIdstring设备ID是

返回参数 data

isSupport: true(支持) 或 false(不支持)

请求示例


import { isSupportFloatWindow } from '@ray-js/ray-ipc-utils';

const deviceId = '1234567890xxxxxx';

const result = await isSupportFloatWindow(deviceId);

返回示例

{
  "code": 0,
  "data": { "isSupport": true}
}

开启功能

功能说明

支持画中画的前提下,才可成功调用此功能,开启画中画。

请求参数

参数数据类型说明是否必填
deviceIdstring设备ID是

返回参数 code

code: 0 (成功) 直接启用画中画 其它(失败)

请求示例


import { openFloatWindow } from '@ray-js/ray-ipc-utils';

const deviceId = '1234567890xxxxxx';

const result = await openFloatWindow(deviceId);

返回示例

{
  "code": 0
}

7. 低功耗唤醒

功能说明

适配使用 dpId(149) dpCode(wireless_awake)的低功耗设备,需要建立连接前,间隔200ms调用至少三次唤醒。

请求参数

参数数据类型说明是否必填
deviceIdstring设备ID是

返回参数 code

code: 0 (成功) 方法调用成功 其它(失败)

请求示例


import { wakeUpDevice } from '@ray-js/ray-ipc-utils';

const deviceId = '1234567890xxxxxx';

const result = await wakeUpDevice(deviceId);

返回示例

{
  "code": 0
}

8. 获取手机当前横竖屏状态

功能说明

单次获取手机横竖屏的状态值

返回参数 data

portrait (竖屏) landscape (横屏)

请求示例


import { getMobileOrientation } from '@ray-js/ray-ipc-utils';

const result = await getMobileOrientation();

返回示例

{
  "code": 0,
  "data": "portrait"
}

9. 设置屏幕旋转

功能说明

手动设置屏幕进行横竖屏切换, 使用播放器若有横屏视频,需将项目当前页面配置 (index.config.ts) 中的 pageOrientation 设置为 auto, 方可正常旋转。

请求参数

参数数据类型说明是否必填
pageOrientationportrait 或 landscape是

返回参数 data

portrait (竖屏) landscape (横屏)

请求示例


import { setScreenOrientation } from '@ray-js/ray-ipc-utils';

const pageOrientation = 'portrait';

const result = await setScreenOrientation(pageOrientation);

返回示例

{
  "code": 0,
}

10. 获取增值服务url链接

功能说明

获取各大类通用增值服务链接,也可直接跳转至对应增值服务页面

请求参数

参数数据类型说明是否必填
deviceIdstring设备ID是
serviceTypeServiceType设备ID是
paramsParams设备ID是
actionbool是否直接跳转否

服务类型: ServiceType

类型说明
security_cloud_service云存储
ai_service智能云存
aiInspectionReport巡检报告
traffic_service4G 流量

注意 增值服务持续扩充中,若有未涉及服务或因不同的增值服务所需参数也不相同, 遇到问题的,可联系涂鸦小程序团队反馈,我们会尽快给予回复。

返回参数 data

请求示例


import { getServiceUrl } from '@ray-js/ray-ipc-utils';

const deviceId = '1234567890xxxxxx';
const serviceType = 'security_cloud_service';
const params = {}

// 若 serviceType 为 aiInspectionReport, 则需传入 activeTime,reportId, devId

// const params = {
//   activeTime: 'xxx',
//   reportId: 'xxx',
//   devId: 'xxx'
// };

const action = true;

const result = await getServiceUrl(deviceId, serviceType, params, true);

返回示例

{
  "code": 0,
}

11. 跳转IPC设置页小程序

功能说明

跳转到 IPC 设备的设置页面小程序,用户可以在该页面进行相关设备设置。

请求参数

参数数据类型说明是否必填
deviceIdstring设备ID是
optionsobject可选配置项否
options.position'right' 或 'bottom'弹出位置(默认值为'right')否

请求示例


import { goToIpcSettingMini } from '@ray-js/ray-ipc-utils';

const deviceId = '1234567890xxxxxx';
const options = {
  position: 'right '
};

const result = await goToIpcSettingMini(deviceId, options);

返回示例

{
  "code": 0,
}

12. 跳转IPC服务大厅小程序

功能说明

跳转到 IPC 服务大厅小程序。

请求参数

参数数据类型说明是否必填
optionsobject可选配置项否
options.position'right' 或 'bottom'弹出位置(默认值为'right')否

请求示例


import { goToIpcServiceHallMini } from '@ray-js/ray-ipc-utils';

const options = {
  position: 'right'
};

const result = await goToIpcServiceHallMini(options);

返回示例

{
  "code": 0,
}

13. 获取增值服务是否开通

功能说明

用于获取指定设备的增值服务是否已开通。

请求参数

参数数据类型说明是否必填
deviceIdstring设备ID是
categoryCodestring增值服务类型是

增值服务类型 (categoryCode)

categoryCode说明
security_cloud_service云存储
ai_inspection_service视频巡检服务

注意 增值服务持续扩充中,若有未涉及服务或因不同的增值服务所需参数也不相同, 遇到问题的,可联系涂鸦智能小程序团队反馈,我们会尽快给予回复。

返回参数 data

  • true: 已开通
  • false: 未开通

请求示例


import { getServiceIsOpen } from '@ray-js/ray-ipc-utils';

const deviceId = '1234567890xxxxxx';
const categoryCode = 'security_cloud_service'; // 云存储

const result = await getServiceIsOpen(deviceId, categoryCode);

返回示例

{
  "code": 0,
  "data": true
}