跳到主要内容

云回看

更新时间:2025-12-31 14:54:05

云端存储录像与事件

// 导入头文件
import { RTCXCloudPlayback, RTCXPlaybackTypes } from 'rtcxsdk'

云存储录像调用接口

/**
* 查询录制列表
*
* @param params - 查询参数
* @public
*/
export declare function recordQuery(params: RecordQueryReq): Promise<import("../playback.type").RecordQueryRsp>;
/**
* 查询录制统计
*
* @param monthQueryReq - 查询参数
* @public
*/
export declare function monthRecordQuery(monthQueryReq: MonthQueryReq): Promise<MonthQueryRsp>;
/**
* 录制删除
*
* @param recordDeleteReq - 查询参数
* @public
*/
export declare function recordDelete(recordDeleteReq: RecordDeleteReq): Promise<Object>;
/**
* 查询录制事件
*
* @param params - 查询参数
* @public
*/
export declare function eventQuery(params: EventQueryReq): Promise<import("../playback.type").EventQueryRsp>;
/**
* 查询事件统计
*
* @param monthQueryReq - 查询参数
* @public
*/
export declare function monthEventQuery(monthQueryReq: MonthQueryReq): Promise<MonthQueryRsp>;
/**
* 事件批量删除
*
* @param iotId - 设备ID
* @param eventList - 事件列表
* @public
*/
export declare function eventBatchDelete(iotId: string, eventList: TimelineEventInfo[]): Promise<Object | undefined>;
/**
* 消息列表(消息中心)
*
* @param params - 查询参数
* @public
*/
export declare function msgCenterEventQuery(params: EventQueryReq): Promise<import("../playback.type").EventQueryRsp>;
/**
* 消息查询统计
*
* @param monthQueryReq - 查询参数
* @public
*/
export declare function msgEventMonthQuery(monthQueryReq: MonthQueryReq): Promise<MonthQueryRsp>;
/**
* 获取设备事件描述(查最新一条数据时间,做显示小红点使用)
*
* @param descReq - 查询参数
* @public
*/
export declare function getDeviceEventDesc(descReq: DeviceEventDescReq): Promise<import("../playback.type").DeviceDescRsp>;
/**
* 获取设备消息描述(查最新一条数据时间,做显示小红点使用)
*
* @param descReq - 查询参数
* @public
*/
export declare function getDeviceMsgDesc(descReq: DeviceMsgDescReq): Promise<import("../playback.type").DeviceDescRsp>;
/**
* 消息批量删除
*
* @param iotId - 设备ID
* @param eventList - 消息列表
* @public
*/
export declare function msgBatchDelete(iotId: string, eventList: TimelineEventInfo[]): Promise<Object>;

查询云存录像列表

备注:该接口默认一次性返回beginTime和endTime时间段内所有数据,(注意:如果该时间段跨度比较大,可能查询比较耗时,所以建议不要跨度太大,或者通过分页查询)

  • 分页规则:
    • 设置pageSize参数,如pageSize = 10

    • 当响应的RecordQueryRsp.nextValid = true,说明可以继续查询下一页数据,否则没有可查询的更多数据了;

    • 查询下一页时,入参beginTime为上一次的beginTime,endTime为上一次的RecordQueryRsp.nextEndTime。

const reqParams: RTCXPlaybackTypes.RecordQueryReq = {
iotId: this.deviceInfo?.iotId!!,
beginTime: startOfDate(this.selectedDate).getTime(),
endTime: endOfDate(this.selectedDate).getTime(),
pageSize: 1000
}
try {
const rsp = await RTCXCloudPlayback.recordQuery(reqParams)
this.dataList = rsp.recordFileList
} catch (e) {
showToast(this, `获取数据失败${e}`)
}

查询云存事件列表

备注:该接口默认一次性返回beginTime和endTime时间段内所有数据,(注意:如果该时间段跨度比较大,可能查询比较耗时,所以建议不要跨度太大,或者通过分页查询)

  • 分页规则:
    • 设置pageSize参数,如pageSize = 50

    • 当响应的EventQueryRsp.nextValid = true,说明可以继续查询下一页数据,否则没有可查询的更多数据了;

    • 查询下一页时,入参beginTime为上一次的beginTime,endTime为上一次的EventQueryRsp.nextEndTime。

const reqParams: RTCXPlaybackTypes.EventQueryReq = {
iotId: this.deviceInfo?.iotId!!,
beginTime: startOfDate(this.selectedDate).getTime(),
endTime: endOfDate(this.selectedDate).getTime(),
pageSize: 1000
}
try {
const rsp = await RTCXCloudPlayback.eventQuery(reqParams)
this.dataList = rsp.eventList
} catch (e) {
showToast(this, `获取数据失败${e}`)
}

查询月录像

const reqParams: RTCXPlaybackTypes.MonthQueryReq = {
iotId: this.deviceInfo?.iotId!!,
beginTime: startOfDate(this.startDate).getTime(),
endTime: endOfDate(this.endDate).getTime(),
zoneOffsetId: getTimezoneFormatted()
}
try {
const rsp = await RTCXCloudPlayback.monthRecordQuery(reqParams)
this.dataList = rsp.dayCntList
} catch (e) {
showToast(this, `获取数据失败${e}`)
}

查询月事件

const reqParams: RTCXPlaybackTypes.MonthQueryReq = {
iotId: this.deviceInfo?.iotId!!,
beginTime: startOfDate(this.startDate).getTime(),
endTime: endOfDate(this.endDate).getTime(),
zoneOffsetId: getTimezoneFormatted()
}
try {
const rsp = await RTCXCloudPlayback.monthEventQuery(reqParams)
this.dataList = rsp.dayCntList
} catch (e) {
showToast(this, `获取数据失败${e}`)
}

查询月消息

const reqParams: RTCXPlaybackTypes.MonthQueryReq = {
iotId: this.deviceInfo?.iotId!!,
beginTime: startOfDate(this.startDate).getTime(),
endTime: endOfDate(this.endDate).getTime(),
zoneOffsetId: getTimezoneFormatted()
}
try {
const rsp = await RTCXCloudPlayback.msgEventMonthQuery(reqParams)
this.dataList = rsp.dayCntList
} catch (e) {
showToast(this, `获取数据失败${e}`)
}

删除云存录像

const reqParams: RTCXPlaybackTypes.RecordDeleteReq = {
iotId: this.deviceInfo?.iotId!!,
beginTime: startOfDate(this.startDate).getTime(),
endTime: endOfDate(this.endDate).getTime(),
}
try {
const rsp = await RTCXCloudPlayback.recordDelete(reqParams)
} catch (e) {
showToast(this, `获取数据失败${e}`)
}

删除云存事件

const eventList: RTCXPlaybackTypes.TimelineEventInfo[] = [{
eventId: eventId,
beginTime: startOfDate(this.startDate).getTime(),
endTime: endOfDate(this.endDate).getTime(),
region: region
}]
try {
const rsp = await RTCXCloudPlayback.eventBatchDelete(iotId,eventList)
} catch (e) {
showToast(this, `获取数据失败${e}`)
}

删除消息中心事件

const eventList: RTCXPlaybackTypes.TimelineEventInfo[] = [{
eventId: eventId,
beginTime: startOfDate(this.startDate).getTime(),
endTime: endOfDate(this.endDate).getTime(),
region: region
}]
try {
const rsp = await RTCXCloudPlayback.msgBatchDelete(iotId,eventList)
} catch (e) {
showToast(this, `获取数据失败${e}`)
}

查询事件描述

即:查询事件最新记录时间,事件小红点

const reqParams: RTCXPlaybackTypes.DeviceEventDescReq = {
iotId: iotId
}
try {
const rsp = await RTCXCloudPlayback.getDeviceEventDesc(reqParams)
} catch (e) {
showToast(this, `获取数据失败${e}`)
}

查询消息中心事件描述

即:消息中心最新记录时间,消息中心小红点

const reqParams: RTCXPlaybackTypes.DeviceMsgDescReq = {
iotId: iotId
}
try {
const rsp = await RTCXCloudPlayback.getDeviceMsgDesc(reqParams)
} catch (e) {
showToast(this, `获取数据失败${e}`)
}

查询消息中心事件列表

事件类型,-128:(自定义消息);1(表示移动侦测);2(表示声音侦测)。详见SDK接口参数描述

const reqParams: RTCXPlaybackTypes.EventQueryReq = {
iotId: this.deviceInfo?.iotId!!,
beginTime: startOfDate(this.selectedDate).getTime(),
endTime: endOfDate(this.selectedDate).getTime(),
eventTypes: [1]
}
try {
const rsp = await RTCXCloudPlayback.msgCenterEventQuery(reqParams)
this.dataList = rsp.eventList
} catch (e) {
showToast(this, `获取数据失败${e}`)
}

备注:该接口默认一次性返回beginTime和endTime时间段内所有数据,(注意:如果该时间段跨度比较大,可能查询比较耗时,所以建议不要跨度太大,或者通过分页查询)

  • 分页规则:
    • 设置pageSize参数,如pageSize = 50

    • 当响应的EventQueryRsp.nextValid = true,说明可以继续查询下一页数据,否则没有可查询的更多数据了;

    • 查寻下一页时,入参beginTime为上一次的beginTime,endTime为上一次的EventQueryRsp.nextEndTime。

调用示例如下:

const reqParams: RTCXPlaybackTypes.EventQueryReq = {
iotId: this.deviceInfo?.iotId!!,
beginTime: startOfDate(this.selectedDate).getTime(),
endTime: endOfDate(this.selectedDate).getTime(),
eventTypes: [1],
pageSize: 50
}
if (this.eventListRsp.nextValid && this.eventListRsp.nextEndTime > 0) {// 还有更多数据可加载
reqParams.endTime = this.eventListRsp.nextEndTime;// 使用上一次的nextEndTime设置下一次的endTime参数
} else {// 没有更多数据
return;
}
try {
const rsp = await RTCXCloudPlayback.msgCenterEventQuery(reqParams)
this.dataList = rsp.eventList
} catch (e) {
showToast(this, `获取数据失败${e}`)
}