@ezuikit/player-theme 3.1.3-beta.1 → 3.1.3-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/constant.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
- * @ezuikit/player-theme v3.1.3-beta.1
3
- * Copyright (c) 2026-08-19 16:47:24 Ezviz-OpenBiz
2
+ * @ezuikit/player-theme v3.1.3-beta.2
3
+ * Copyright (c) 2026-08-19 17:37:07 Ezviz-OpenBiz
4
4
  * Released under the MIT License.
5
5
  */
6
6
  /**
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
- * @ezuikit/player-theme v3.1.3-beta.1
3
- * Copyright (c) 2026-08-19 16:47:24 Ezviz-OpenBiz
2
+ * @ezuikit/player-theme v3.1.3-beta.2
3
+ * Copyright (c) 2026-08-19 17:37:07 Ezviz-OpenBiz
4
4
  * Released under the MIT License.
5
5
  */
6
6
  'use strict';
@@ -9843,9 +9843,8 @@ function _renderTheme(theme, data) {
9843
9843
  _needTimeLine = list.some(function(item) {
9844
9844
  return REC_GROUP.includes(item.iconId) || item.iconId === 'recDropdown';
9845
9845
  }) && ((_theme_urlInfo = theme.urlInfo) == null ? void 0 : _theme_urlInfo.type) === 'rec';
9846
- // 处于播放区间约束中时不渲染日历:区间必然在同一天内,切到任何其它日期都会越界
9847
9846
  _hasPlaybackRange = !!((_theme_playbackRange = theme.playbackRange) == null ? void 0 : _theme_playbackRange.begin) && !!((_theme_playbackRange1 = theme.playbackRange) == null ? void 0 : _theme_playbackRange1.end);
9848
- _needDatePicker = theme.options.dateOptions !== null && !_hasPlaybackRange;
9847
+ _needDatePicker = theme.options.dateOptions !== null;
9849
9848
  theme.$container.classList.remove("" + PREFIX_CLASS + "-has-time-line");
9850
9849
  // PC 单独渲染timeLine
9851
9850
  if (!Utils.isMobile && !(theme.options.timeLineOptions === null || theme.options.disabledTimeLine) && _needTimeLine) {
@@ -10382,7 +10381,7 @@ var THEME_DEFAULT_OPTIONS = {
10382
10381
  */ _this._footerMoreControl = null, /** 头部控件 @since 0.0.1 @private */ _this._header = null, /** 低部控件 @since 0.0.1 @private */ _this._footer = null, /** 回放底部时间轴 @since 0.0.1 @private */ _this._recFooter = null, /**
10383
10382
  * 移动端扩展容器, 扩展的控件渲染在指定容器以外, 仅只用端适用, 为了可以放置大的控件和方便开发接入
10384
10383
  * @private
10385
- */ _this._mobileExtend = null, /** @since 0.0.1 @private */ _this._interactiveResult = null, /** @since 0.0.1 @private */ _this._themeData = null, _this._fullscreen = null, _this.zoomUtil = null, /** 清除屏幕旋转 */ _this._cleanupOrientation = null, /** resizeObserver 监听销毁 */ _this._cleanUpResizeObserver = null, /** 容器的宽 */ _this._width = 0, /** 容器的高 */ _this._height = 0, /** 当前容器的全屏状态 true: 全屏, false: 非全屏 */ _this._isCurrentFullscreen = false, /** 屏幕旋转角度 0 | 90 | 180 | 270 */ _this._orientationAngle = 0, _this._url = '', /** 是否播放中 @private */ _this._playing = false, /** @private 加载中 */ _this._loading = false, /** 音量 */ _this._volume = 0, /** 静音 */ _this._muted = false, /** 电子放大倍数 @private */ _this._zoom = 1, /** 放大中 true: 可缩放状态,false: 禁止缩放状态(不能缩放) @private */ _this._zooming = false, /** 录制中 @private */ _this._recording = false, /** 对讲中 @private */ _this._talking = false, /** 倍速 @private */ _this._speed = 1, /** 自定清晰度 @private */ _this._videoLevelAuto = false, /** 清晰度列表 */ _this.videoLevelList = [], /** 回放片段列表 */ _this.recordList = [], /**
10384
+ */ _this._mobileExtend = null, /** @since 0.0.1 @private */ _this._interactiveResult = null, /** @since 0.0.1 @private */ _this._themeData = null, _this._fullscreen = null, _this.zoomUtil = null, /** 清除屏幕旋转 */ _this._cleanupOrientation = null, /** resizeObserver 监听销毁 */ _this._cleanUpResizeObserver = null, /** 容器的宽 */ _this._width = 0, /** 容器的高 */ _this._height = 0, /** 当前容器的全屏状态 true: 全屏, false: 非全屏 */ _this._isCurrentFullscreen = false, /** 屏幕旋转角度 0 | 90 | 180 | 270 */ _this._orientationAngle = 0, _this._url = '', _this._urlInfoCache = null, /** 是否播放中 @private */ _this._playing = false, /** @private 加载中 */ _this._loading = false, /** 音量 */ _this._volume = 0, /** 静音 */ _this._muted = false, /** 电子放大倍数 @private */ _this._zoom = 1, /** 放大中 true: 可缩放状态,false: 禁止缩放状态(不能缩放) @private */ _this._zooming = false, /** 录制中 @private */ _this._recording = false, /** 对讲中 @private */ _this._talking = false, /** 倍速 @private */ _this._speed = 1, /** 自定清晰度 @private */ _this._videoLevelAuto = false, /** 清晰度列表 */ _this.videoLevelList = [], /** 回放片段列表 */ _this.recordList = [], /**
10386
10385
  * 播放区间(片段分享),null 表示不约束。
10387
10386
  * 由 SDK 层在初始化时通过 props 下发,主题层据此决定日历/回放类型按钮
10388
10387
  * 是否渲染、片段进度条是否渲染。区间没有运行时变更入口。
@@ -11283,10 +11282,16 @@ var THEME_DEFAULT_OPTIONS = {
11283
11282
  get: /**
11284
11283
  * url 信息 播放地址信息
11285
11284
  */ function get() {
11285
+ if (this._urlInfoCache) {
11286
+ return this._urlInfoCache;
11287
+ }
11286
11288
  if (this._url) {
11287
11289
  return utilsTools.parseEzopenUrl(this._url);
11288
11290
  }
11289
11291
  return {};
11292
+ },
11293
+ set: function set(info) {
11294
+ this._urlInfoCache = info;
11290
11295
  }
11291
11296
  },
11292
11297
  {
@@ -11321,6 +11326,9 @@ var THEME_DEFAULT_OPTIONS = {
11321
11326
  * ```
11322
11327
  */ function get() {
11323
11328
  return this._videoInfo || {};
11329
+ },
11330
+ set: function set(info) {
11331
+ this._videoInfo = info;
11324
11332
  }
11325
11333
  },
11326
11334
  {
@@ -11763,7 +11771,7 @@ var THEME_DEFAULT_OPTIONS = {
11763
11771
  zh: zh,
11764
11772
  en: en
11765
11773
  };
11766
- /** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.3-beta.1';
11774
+ /** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.3-beta.2';
11767
11775
 
11768
11776
  exports.Control = Control;
11769
11777
  exports.EVENTS = EVENTS;
package/dist/index.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
- * @ezuikit/player-theme v3.1.3-beta.1
3
- * Copyright (c) 2026-08-19 16:47:24 Ezviz-OpenBiz
2
+ * @ezuikit/player-theme v3.1.3-beta.2
3
+ * Copyright (c) 2026-08-19 17:37:07 Ezviz-OpenBiz
4
4
  * Released under the MIT License.
5
5
  */
6
6
  import EventEmitter from 'eventemitter3';
@@ -9841,9 +9841,8 @@ function _renderTheme(theme, data) {
9841
9841
  _needTimeLine = list.some(function(item) {
9842
9842
  return REC_GROUP.includes(item.iconId) || item.iconId === 'recDropdown';
9843
9843
  }) && ((_theme_urlInfo = theme.urlInfo) == null ? void 0 : _theme_urlInfo.type) === 'rec';
9844
- // 处于播放区间约束中时不渲染日历:区间必然在同一天内,切到任何其它日期都会越界
9845
9844
  _hasPlaybackRange = !!((_theme_playbackRange = theme.playbackRange) == null ? void 0 : _theme_playbackRange.begin) && !!((_theme_playbackRange1 = theme.playbackRange) == null ? void 0 : _theme_playbackRange1.end);
9846
- _needDatePicker = theme.options.dateOptions !== null && !_hasPlaybackRange;
9845
+ _needDatePicker = theme.options.dateOptions !== null;
9847
9846
  theme.$container.classList.remove("" + PREFIX_CLASS + "-has-time-line");
9848
9847
  // PC 单独渲染timeLine
9849
9848
  if (!Utils.isMobile && !(theme.options.timeLineOptions === null || theme.options.disabledTimeLine) && _needTimeLine) {
@@ -10380,7 +10379,7 @@ var THEME_DEFAULT_OPTIONS = {
10380
10379
  */ _this._footerMoreControl = null, /** 头部控件 @since 0.0.1 @private */ _this._header = null, /** 低部控件 @since 0.0.1 @private */ _this._footer = null, /** 回放底部时间轴 @since 0.0.1 @private */ _this._recFooter = null, /**
10381
10380
  * 移动端扩展容器, 扩展的控件渲染在指定容器以外, 仅只用端适用, 为了可以放置大的控件和方便开发接入
10382
10381
  * @private
10383
- */ _this._mobileExtend = null, /** @since 0.0.1 @private */ _this._interactiveResult = null, /** @since 0.0.1 @private */ _this._themeData = null, _this._fullscreen = null, _this.zoomUtil = null, /** 清除屏幕旋转 */ _this._cleanupOrientation = null, /** resizeObserver 监听销毁 */ _this._cleanUpResizeObserver = null, /** 容器的宽 */ _this._width = 0, /** 容器的高 */ _this._height = 0, /** 当前容器的全屏状态 true: 全屏, false: 非全屏 */ _this._isCurrentFullscreen = false, /** 屏幕旋转角度 0 | 90 | 180 | 270 */ _this._orientationAngle = 0, _this._url = '', /** 是否播放中 @private */ _this._playing = false, /** @private 加载中 */ _this._loading = false, /** 音量 */ _this._volume = 0, /** 静音 */ _this._muted = false, /** 电子放大倍数 @private */ _this._zoom = 1, /** 放大中 true: 可缩放状态,false: 禁止缩放状态(不能缩放) @private */ _this._zooming = false, /** 录制中 @private */ _this._recording = false, /** 对讲中 @private */ _this._talking = false, /** 倍速 @private */ _this._speed = 1, /** 自定清晰度 @private */ _this._videoLevelAuto = false, /** 清晰度列表 */ _this.videoLevelList = [], /** 回放片段列表 */ _this.recordList = [], /**
10382
+ */ _this._mobileExtend = null, /** @since 0.0.1 @private */ _this._interactiveResult = null, /** @since 0.0.1 @private */ _this._themeData = null, _this._fullscreen = null, _this.zoomUtil = null, /** 清除屏幕旋转 */ _this._cleanupOrientation = null, /** resizeObserver 监听销毁 */ _this._cleanUpResizeObserver = null, /** 容器的宽 */ _this._width = 0, /** 容器的高 */ _this._height = 0, /** 当前容器的全屏状态 true: 全屏, false: 非全屏 */ _this._isCurrentFullscreen = false, /** 屏幕旋转角度 0 | 90 | 180 | 270 */ _this._orientationAngle = 0, _this._url = '', _this._urlInfoCache = null, /** 是否播放中 @private */ _this._playing = false, /** @private 加载中 */ _this._loading = false, /** 音量 */ _this._volume = 0, /** 静音 */ _this._muted = false, /** 电子放大倍数 @private */ _this._zoom = 1, /** 放大中 true: 可缩放状态,false: 禁止缩放状态(不能缩放) @private */ _this._zooming = false, /** 录制中 @private */ _this._recording = false, /** 对讲中 @private */ _this._talking = false, /** 倍速 @private */ _this._speed = 1, /** 自定清晰度 @private */ _this._videoLevelAuto = false, /** 清晰度列表 */ _this.videoLevelList = [], /** 回放片段列表 */ _this.recordList = [], /**
10384
10383
  * 播放区间(片段分享),null 表示不约束。
10385
10384
  * 由 SDK 层在初始化时通过 props 下发,主题层据此决定日历/回放类型按钮
10386
10385
  * 是否渲染、片段进度条是否渲染。区间没有运行时变更入口。
@@ -11281,10 +11280,16 @@ var THEME_DEFAULT_OPTIONS = {
11281
11280
  get: /**
11282
11281
  * url 信息 播放地址信息
11283
11282
  */ function get() {
11283
+ if (this._urlInfoCache) {
11284
+ return this._urlInfoCache;
11285
+ }
11284
11286
  if (this._url) {
11285
11287
  return parseEzopenUrl(this._url);
11286
11288
  }
11287
11289
  return {};
11290
+ },
11291
+ set: function set(info) {
11292
+ this._urlInfoCache = info;
11288
11293
  }
11289
11294
  },
11290
11295
  {
@@ -11319,6 +11324,9 @@ var THEME_DEFAULT_OPTIONS = {
11319
11324
  * ```
11320
11325
  */ function get() {
11321
11326
  return this._videoInfo || {};
11327
+ },
11328
+ set: function set(info) {
11329
+ this._videoInfo = info;
11322
11330
  }
11323
11331
  },
11324
11332
  {
@@ -11761,6 +11769,6 @@ var THEME_DEFAULT_OPTIONS = {
11761
11769
  zh: zh,
11762
11770
  en: en
11763
11771
  };
11764
- /** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.3-beta.1';
11772
+ /** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.3-beta.2';
11765
11773
 
11766
11774
  export { Control, EVENTS, Fullscreen, Loading, Message, Play, Poster, Rec, Theme, Utils, Volume };
package/dist/index.umd.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
- * @ezuikit/player-theme v3.1.3-beta.1
3
- * Copyright (c) 2026-08-19 16:47:24 Ezviz-OpenBiz
2
+ * @ezuikit/player-theme v3.1.3-beta.2
3
+ * Copyright (c) 2026-08-19 17:37:07 Ezviz-OpenBiz
4
4
  * Released under the MIT License.
5
5
  */
6
6
  (function (global, factory) {
@@ -11842,9 +11842,8 @@
11842
11842
  _needTimeLine = list.some(function(item) {
11843
11843
  return REC_GROUP.includes(item.iconId) || item.iconId === 'recDropdown';
11844
11844
  }) && ((_theme_urlInfo = theme.urlInfo) == null ? void 0 : _theme_urlInfo.type) === 'rec';
11845
- // 处于播放区间约束中时不渲染日历:区间必然在同一天内,切到任何其它日期都会越界
11846
11845
  _hasPlaybackRange = !!((_theme_playbackRange = theme.playbackRange) == null ? void 0 : _theme_playbackRange.begin) && !!((_theme_playbackRange1 = theme.playbackRange) == null ? void 0 : _theme_playbackRange1.end);
11847
- _needDatePicker = theme.options.dateOptions !== null && !_hasPlaybackRange;
11846
+ _needDatePicker = theme.options.dateOptions !== null;
11848
11847
  theme.$container.classList.remove("" + PREFIX_CLASS$1 + "-has-time-line");
11849
11848
  // PC 单独渲染timeLine
11850
11849
  if (!Utils.isMobile && !(theme.options.timeLineOptions === null || theme.options.disabledTimeLine) && _needTimeLine) {
@@ -12381,7 +12380,7 @@
12381
12380
  */ _this._footerMoreControl = null, /** 头部控件 @since 0.0.1 @private */ _this._header = null, /** 低部控件 @since 0.0.1 @private */ _this._footer = null, /** 回放底部时间轴 @since 0.0.1 @private */ _this._recFooter = null, /**
12382
12381
  * 移动端扩展容器, 扩展的控件渲染在指定容器以外, 仅只用端适用, 为了可以放置大的控件和方便开发接入
12383
12382
  * @private
12384
- */ _this._mobileExtend = null, /** @since 0.0.1 @private */ _this._interactiveResult = null, /** @since 0.0.1 @private */ _this._themeData = null, _this._fullscreen = null, _this.zoomUtil = null, /** 清除屏幕旋转 */ _this._cleanupOrientation = null, /** resizeObserver 监听销毁 */ _this._cleanUpResizeObserver = null, /** 容器的宽 */ _this._width = 0, /** 容器的高 */ _this._height = 0, /** 当前容器的全屏状态 true: 全屏, false: 非全屏 */ _this._isCurrentFullscreen = false, /** 屏幕旋转角度 0 | 90 | 180 | 270 */ _this._orientationAngle = 0, _this._url = '', /** 是否播放中 @private */ _this._playing = false, /** @private 加载中 */ _this._loading = false, /** 音量 */ _this._volume = 0, /** 静音 */ _this._muted = false, /** 电子放大倍数 @private */ _this._zoom = 1, /** 放大中 true: 可缩放状态,false: 禁止缩放状态(不能缩放) @private */ _this._zooming = false, /** 录制中 @private */ _this._recording = false, /** 对讲中 @private */ _this._talking = false, /** 倍速 @private */ _this._speed = 1, /** 自定清晰度 @private */ _this._videoLevelAuto = false, /** 清晰度列表 */ _this.videoLevelList = [], /** 回放片段列表 */ _this.recordList = [], /**
12383
+ */ _this._mobileExtend = null, /** @since 0.0.1 @private */ _this._interactiveResult = null, /** @since 0.0.1 @private */ _this._themeData = null, _this._fullscreen = null, _this.zoomUtil = null, /** 清除屏幕旋转 */ _this._cleanupOrientation = null, /** resizeObserver 监听销毁 */ _this._cleanUpResizeObserver = null, /** 容器的宽 */ _this._width = 0, /** 容器的高 */ _this._height = 0, /** 当前容器的全屏状态 true: 全屏, false: 非全屏 */ _this._isCurrentFullscreen = false, /** 屏幕旋转角度 0 | 90 | 180 | 270 */ _this._orientationAngle = 0, _this._url = '', _this._urlInfoCache = null, /** 是否播放中 @private */ _this._playing = false, /** @private 加载中 */ _this._loading = false, /** 音量 */ _this._volume = 0, /** 静音 */ _this._muted = false, /** 电子放大倍数 @private */ _this._zoom = 1, /** 放大中 true: 可缩放状态,false: 禁止缩放状态(不能缩放) @private */ _this._zooming = false, /** 录制中 @private */ _this._recording = false, /** 对讲中 @private */ _this._talking = false, /** 倍速 @private */ _this._speed = 1, /** 自定清晰度 @private */ _this._videoLevelAuto = false, /** 清晰度列表 */ _this.videoLevelList = [], /** 回放片段列表 */ _this.recordList = [], /**
12385
12384
  * 播放区间(片段分享),null 表示不约束。
12386
12385
  * 由 SDK 层在初始化时通过 props 下发,主题层据此决定日历/回放类型按钮
12387
12386
  * 是否渲染、片段进度条是否渲染。区间没有运行时变更入口。
@@ -13282,10 +13281,16 @@
13282
13281
  get: /**
13283
13282
  * url 信息 播放地址信息
13284
13283
  */ function get() {
13284
+ if (this._urlInfoCache) {
13285
+ return this._urlInfoCache;
13286
+ }
13285
13287
  if (this._url) {
13286
13288
  return distExports$3.parseEzopenUrl(this._url);
13287
13289
  }
13288
13290
  return {};
13291
+ },
13292
+ set: function set(info) {
13293
+ this._urlInfoCache = info;
13289
13294
  }
13290
13295
  },
13291
13296
  {
@@ -13320,6 +13325,9 @@
13320
13325
  * ```
13321
13326
  */ function get() {
13322
13327
  return this._videoInfo || {};
13328
+ },
13329
+ set: function set(info) {
13330
+ this._videoInfo = info;
13323
13331
  }
13324
13332
  },
13325
13333
  {
@@ -13762,7 +13770,7 @@
13762
13770
  zh: zh,
13763
13771
  en: en
13764
13772
  };
13765
- /** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.3-beta.1';
13773
+ /** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.3-beta.2';
13766
13774
 
13767
13775
  // 不要动这里的代码, 这个出口是为了编译成 umd 规范的文件
13768
13776
 
package/dist/style.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
- * @ezuikit/player-theme v3.1.3-beta.1
3
- * Copyright (c) 2026-08-19 16:47:24 Ezviz-OpenBiz
2
+ * @ezuikit/player-theme v3.1.3-beta.2
3
+ * Copyright (c) 2026-08-19 17:37:07 Ezviz-OpenBiz
4
4
  * Released under the MIT License.
5
5
  */
6
6
  require("./style.css");
@@ -4,7 +4,6 @@ import I18n, { I18nTranslation } from '@ezuikit/utils-i18n';
4
4
  import { LoggerCls, LoggerOptions } from '@ezuikit/utils-logger';
5
5
  import { BasePtzOptions } from '@ezuikit/control-ptz';
6
6
  import { RecListModalOptions } from '@ezuikit/control-rec-list-modal';
7
- import * as _ezuikit_utils_tools from '@ezuikit/utils-tools';
8
7
  import Zoom from '@ezuikit/control-zoom';
9
8
  import { TimeLineTimeSection } from '@ezuikit/control-time-line';
10
9
  import { TimePickerOptions } from '@ezuikit/control-date-picker';
@@ -1544,7 +1543,7 @@ declare class Theme extends EventEmitter {
1544
1543
  readonly volumeDestroy: "Control.volumeDestroy";
1545
1544
  readonly controlsBarOpenChange: "Control.controlsBarOpenChange";
1546
1545
  readonly headerMoreShowControlsChange: "Control.headerMoreShowControlsChange";
1547
- readonly headerMorePanelOpenChange: "Control.headerMorePanelOpenChange"; /** 电子放大倍数 @private */
1546
+ readonly headerMorePanelOpenChange: "Control.headerMorePanelOpenChange";
1548
1547
  readonly footerMoreShowControlsChange: "Control.footerMoreShowControlsChange";
1549
1548
  readonly footerMorePanelOpenChange: "Control.footerMorePanelOpenChange";
1550
1549
  readonly deviceDestroy: "Control.deviceDestroy";
@@ -1553,12 +1552,22 @@ declare class Theme extends EventEmitter {
1553
1552
  readonly definitionChange: "Control.definitionChange";
1554
1553
  readonly definitionList: "Control.definitionList";
1555
1554
  readonly definitionPanelOpenChange: "Control.definitionPanelOpenChange";
1555
+ /**
1556
+ * 录像回放的月份列表 @private
1557
+ */
1556
1558
  readonly definitionDestroy: "Control.definitionDestroy";
1557
1559
  readonly speedChange: "Control.speedChange";
1560
+ /**
1561
+ * 录像回放的月份列表 @private
1562
+ */
1558
1563
  readonly speedPanelOpenChange: "Control.speedPanelOpenChange";
1559
1564
  readonly speedDestroy: "Control.speedDestroy";
1560
1565
  readonly ptzPanelOpenChange: "Control.ptzPanelOpenChange";
1561
- readonly ptzSpeedChange: "Control.ptzSpeedChange";
1566
+ readonly ptzSpeedChange: "Control.ptzSpeedChange"; /**
1567
+ * 首帧同步 Live/RecDropdown 激活态的监听器引用。
1568
+ * 每次 `_renderTheme` 重新绑定前需先移除旧引用,避免 changeTheme 累积监听。
1569
+ * @private
1570
+ */
1562
1571
  readonly ptzError: "Control.ptzError";
1563
1572
  readonly ptzDestroy: "Control.ptzDestroy";
1564
1573
  readonly recordingChange: "Control.recordingChange";
@@ -1850,7 +1859,7 @@ declare class Theme extends EventEmitter {
1850
1859
  ZOOM_NOT_ENABLED: string;
1851
1860
  '3D_ZOOM': string;
1852
1861
  '3D_ZOOM_DISABLE': string;
1853
- '3D_ZOOM_FAILED': string;
1862
+ '3D_ZOOM_FAILED': string; /** 音量 */
1854
1863
  START_3D_ZOOM: string;
1855
1864
  CLOSE_3D_ZOOM: string;
1856
1865
  DEVICE_NOT_SUPPORT_3D_ZOOM: string;
@@ -1865,7 +1874,11 @@ declare class Theme extends EventEmitter {
1865
1874
  WEB_FULLSCREEN_EXIT: string;
1866
1875
  DESTROY: string;
1867
1876
  GET_CAPACITY: string;
1868
- GET_PTZ_STATUS: string;
1877
+ GET_PTZ_STATUS: string; /**
1878
+ * 播放区间(片段分享),null 表示不约束。
1879
+ * 由 SDK 层在初始化时通过 props 下发,主题层据此决定日历/回放类型按钮
1880
+ * 是否渲染、片段进度条是否渲染。区间没有运行时变更入口。
1881
+ */
1869
1882
  GET_PTZ_STATUS_FAILED: string;
1870
1883
  MOBILE_HIDE_PTZ: string;
1871
1884
  OPTION_PTZ_FAILED: string;
@@ -1873,7 +1886,8 @@ declare class Theme extends EventEmitter {
1873
1886
  PTZ_FAST: string;
1874
1887
  PTZ_MID: string;
1875
1888
  PTZ_SLOW: string;
1876
- PTZ_SPEED: string; /**
1889
+ PTZ_SPEED: string;
1890
+ DEVICE_ZOOM: string; /**
1877
1891
  // * 记录回放的月份
1878
1892
  // *
1879
1893
  // * key: {序列号}_{通道号}_{rec | cloud | cloudRecord} 比如:BC7799091_1_rec BC7799091_1_cloud BC7799091_1_cloudRecord
@@ -1881,20 +1895,10 @@ declare class Theme extends EventEmitter {
1881
1895
  // * value: 月份列表 比如 ["2025-12-01", "2025-12-02"]
1882
1896
  // * @private
1883
1897
  // */
1884
- /**
1885
- * 录像回放的月份列表 @private
1886
- */
1887
- DEVICE_ZOOM: string;
1888
- /**
1889
- * 录像回放的月份列表 @private
1890
- */
1891
1898
  DEVICE_FOCUS: string;
1892
1899
  NOT_SUPPORT_DEVICE_ZOOM: string;
1893
1900
  NOT_SUPPORT_FOCUS: string;
1894
1901
  MIRROR: string;
1895
- /**
1896
- * 录像回放的月份列表 @private
1897
- */
1898
1902
  MIRROR_TYPE_ERROR: string;
1899
1903
  CHANGE_FEC_TYPE: string;
1900
1904
  DEVICE_NOT_SUPPORT: string;
@@ -2027,27 +2031,32 @@ declare class Theme extends EventEmitter {
2027
2031
  396508: string;
2028
2032
  396509: string;
2029
2033
  396510: string;
2030
- 396511: string;
2031
- 396512: string;
2032
- 396513: string;
2034
+ 396511: string; /** 静音 */
2035
+ 396512: string; /** 放大中 true: 可缩放状态,false: 禁止缩放状态(不能缩放) @private */
2036
+ 396513: string; /** 录制中 @private */
2033
2037
  396514: string;
2034
2038
  396515: string;
2035
- 396516: string;
2039
+ 396516: string; /** 回放片段列表 */
2036
2040
  396517: string;
2037
2041
  396518: string;
2038
2042
  396519: string;
2039
2043
  396520: string;
2040
2044
  396700: string;
2041
- /**
2042
- * 录像回放的月份列表 @private
2043
- */
2044
2045
  396701: string;
2045
2046
  397001: string;
2046
2047
  397002: string;
2047
2048
  397003: string;
2048
- 397004: string;
2049
+ 397004: string; /**
2050
+ * 首帧同步 Live/RecDropdown 激活态的监听器引用。
2051
+ * 每次 `_renderTheme` 重新绑定前需先移除旧引用,避免 changeTheme 累积监听。
2052
+ * @private
2053
+ */
2049
2054
  397005: string;
2050
- 397006: string;
2055
+ 397006: string; /**
2056
+ * 模板请求(getDetail)的中止控制器。
2057
+ * 重新渲染或销毁时中止在途请求,避免请求返回后在已销毁/已切换的 theme 上继续操作。
2058
+ * @private
2059
+ */
2051
2060
  397007: string;
2052
2061
  399000: string;
2053
2062
  399001: string;
@@ -2123,40 +2132,29 @@ declare class Theme extends EventEmitter {
2123
2132
  VIDEO_LEVEL_HEIGH: string;
2124
2133
  VIDEO_LEVEL_SUPER: string;
2125
2134
  VIDEO_LEVEL_EXTREME: string;
2126
- /**
2127
- * 视频信息
2128
- * @version 3.1.2
2129
- * ```ts
2130
- * theme.videoInfo // ThemeVideoInfo
2131
- * ```
2132
- */
2133
2135
  VIDEO_LEVEL_3K: string;
2134
2136
  VIDEO_LEVEL_4k: string;
2135
2137
  RESET_THEME: string;
2136
2138
  BTN_PLAY: string;
2137
2139
  BTN_PAUSE: string;
2138
2140
  BTN_VOLUME: string;
2139
- BTN_MUTED: string; /**
2140
- * 视频分辨率 宽
2141
- *
2142
- * @version 3.1.2
2143
- *
2144
- * ```ts
2145
- * theme.videoWidth // number
2146
- * ```
2147
- */
2141
+ BTN_MUTED: string;
2148
2142
  BTN_RECORDVIDEO: string;
2149
2143
  BTN_CAPTURE: string;
2150
2144
  BTN_TALK: string;
2151
2145
  BTN_BROADCAST: string;
2152
2146
  BTN_AICHAT: string;
2153
2147
  BTN_LIVE: string;
2154
- /**
2155
- * 视频分辨率
2148
+ BTN_REC_DROPDOWN: string;
2149
+ BTN_ALARM_MESSAGE: string; /**
2150
+ * 视频分辨率 宽
2151
+ *
2156
2152
  * @version 3.1.2
2153
+ *
2154
+ * ```ts
2155
+ * theme.videoWidth // number
2156
+ * ```
2157
2157
  */
2158
- BTN_REC_DROPDOWN: string;
2159
- BTN_ALARM_MESSAGE: string;
2160
2158
  REC_DROPDOWN_CLOUD_REC: string;
2161
2159
  REC_DROPDOWN_CLOUD_RECORD: string;
2162
2160
  REC_DROPDOWN_LOCAL_REC: string;
@@ -2197,6 +2195,13 @@ declare class Theme extends EventEmitter {
2197
2195
  ZOOM_SUB: string;
2198
2196
  ZOOM_ADD_MAX: string;
2199
2197
  ZOOM_SUB_MIN: string;
2198
+ /**
2199
+ * 加载状态
2200
+ * ```ts
2201
+ * // 事件监听
2202
+ * theme.on(Theme.EVENTS.loading, (loading: boolean) => {})
2203
+ * ```
2204
+ */
2200
2205
  ZOOM_LIMIT_MAX: string;
2201
2206
  ZOOM_LIMIT_MIN: string;
2202
2207
  ZOOM_NOT_ENABLED: string;
@@ -2327,6 +2332,7 @@ declare class Theme extends EventEmitter {
2327
2332
  /** 屏幕旋转角度 0 | 90 | 180 | 270 */
2328
2333
  private _orientationAngle;
2329
2334
  _url: string;
2335
+ _urlInfoCache: any;
2330
2336
  /** 是否播放中 @private */
2331
2337
  _playing: boolean;
2332
2338
  /** @private 加载中 */
@@ -2390,7 +2396,8 @@ declare class Theme extends EventEmitter {
2390
2396
  /**
2391
2397
  * url 信息 播放地址信息
2392
2398
  */
2393
- get urlInfo(): Partial<_ezuikit_utils_tools.EzopenURL>;
2399
+ get urlInfo(): any;
2400
+ set urlInfo(info: any);
2394
2401
  /**
2395
2402
  * 容器的宽(单位 px)
2396
2403
  * ```ts
@@ -2413,6 +2420,7 @@ declare class Theme extends EventEmitter {
2413
2420
  * ```
2414
2421
  */
2415
2422
  get videoInfo(): ThemeVideoInfo;
2423
+ set videoInfo(info: ThemeVideoInfo);
2416
2424
  /**
2417
2425
  * 视频分辨率 宽
2418
2426
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ezuikit/player-theme",
3
- "version": "3.1.3-beta.1",
3
+ "version": "3.1.3-beta.2",
4
4
  "description": "player theme",
5
5
  "title": "theme",
6
6
  "main": "dist/index.cjs",