@ezuikit/player-theme 3.1.4-beta.2 → 3.1.5-beta.1
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 +2 -2
- package/dist/index.cjs +38 -35
- package/dist/index.esm.js +38 -35
- package/dist/index.umd.js +41 -38
- package/dist/style.css +1 -1
- package/dist/style.js +2 -2
- package/dist/types/index.d.ts +99 -37
- package/package.json +1 -1
package/dist/constant.js
CHANGED
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* @ezuikit/player-theme v3.1.
|
|
3
|
-
* Copyright (c) 2026-
|
|
2
|
+
* @ezuikit/player-theme v3.1.5-beta.1
|
|
3
|
+
* Copyright (c) 2026-09-03 20:27:16 Ezviz-OpenBiz
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
'use strict';
|
|
@@ -2142,11 +2142,10 @@ var Provider = /*#__PURE__*/ function() {
|
|
|
2142
2142
|
return item.element === element;
|
|
2143
2143
|
});
|
|
2144
2144
|
if (index >= 0) {
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
this.fullscreens[index].onChange.push(onChange);
|
|
2145
|
+
var target = this.fullscreens[index];
|
|
2146
|
+
target.onChange = Array.isArray(target.onChange) ? target.onChange : [];
|
|
2147
|
+
if (!target.onChange.includes(onChange)) {
|
|
2148
|
+
target.onChange.push(onChange);
|
|
2150
2149
|
}
|
|
2151
2150
|
} else {
|
|
2152
2151
|
this.fullscreens.push({
|
|
@@ -4774,7 +4773,7 @@ function debounce(func, wait) {
|
|
|
4774
4773
|
theme.emit(EVENTS.control.dateChange, date);
|
|
4775
4774
|
});
|
|
4776
4775
|
theme.controls.dateControl.on(EVENTS.control.dateDestroy, function() {
|
|
4777
|
-
theme.emit(EVENTS.control.
|
|
4776
|
+
theme.emit(EVENTS.control.dateDestroy);
|
|
4778
4777
|
});
|
|
4779
4778
|
}
|
|
4780
4779
|
// 时间控件
|
|
@@ -5576,7 +5575,7 @@ function _filterLeftRightControls(btnList) {
|
|
|
5576
5575
|
2,
|
|
5577
5576
|
null
|
|
5578
5577
|
];
|
|
5579
|
-
theme.emit(EVENTS.message, theme.i18n.t('FETCH_THEME_FAILED'), 'themeError');
|
|
5578
|
+
theme.emit(EVENTS.message, theme.i18n.t('FETCH_THEME_FAILED') + ' ' + data, 'themeError');
|
|
5580
5579
|
return [
|
|
5581
5580
|
2,
|
|
5582
5581
|
null
|
|
@@ -5588,7 +5587,7 @@ function _filterLeftRightControls(btnList) {
|
|
|
5588
5587
|
2,
|
|
5589
5588
|
null
|
|
5590
5589
|
];
|
|
5591
|
-
theme.emit(EVENTS.message, theme.i18n.t('FETCH_THEME_FAILED'), 'themeError');
|
|
5590
|
+
theme.emit(EVENTS.message, theme.i18n.t('FETCH_THEME_FAILED') + ' ' + data, 'themeError');
|
|
5592
5591
|
return [
|
|
5593
5592
|
2,
|
|
5594
5593
|
null
|
|
@@ -5913,32 +5912,29 @@ function interactiveHF($container, second, callback) {
|
|
|
5913
5912
|
if (Utils.isMobile && _touchStart) {
|
|
5914
5913
|
var eventName = "click";
|
|
5915
5914
|
$container.removeEventListener(eventName, _touchStart);
|
|
5916
|
-
if (_$footer &&
|
|
5915
|
+
if (_$footer && _headerFooterTouchStart) {
|
|
5917
5916
|
_$footer.removeEventListener(eventName, _headerFooterTouchStart);
|
|
5918
5917
|
}
|
|
5919
|
-
if (_$header &&
|
|
5918
|
+
if (_$header && _headerFooterTouchStart) {
|
|
5920
5919
|
_$header.removeEventListener(eventName, _headerFooterTouchStart);
|
|
5921
5920
|
}
|
|
5922
5921
|
}
|
|
5923
|
-
if (_setTimeoutShow) {
|
|
5922
|
+
if (_hide || _setTimeoutShow) {
|
|
5924
5923
|
var eventName1 = window.PointerEvent ? "pointerdown" : "click";
|
|
5925
5924
|
$container.removeEventListener(eventName1, _setTimeoutShow);
|
|
5926
5925
|
$container.removeEventListener('mousemove', _setTimeoutShow); // 不要被 header 和 footer 冒泡过来
|
|
5927
5926
|
$container.removeEventListener('mouseleave', _hide);
|
|
5928
|
-
if (_$footer &&
|
|
5927
|
+
if (_$footer && _headerFooterMousemove) {
|
|
5929
5928
|
var _$footer_removeEventListener, _$footer_removeEventListener1;
|
|
5930
5929
|
_$footer == null ? void 0 : (_$footer_removeEventListener = _$footer.removeEventListener) == null ? void 0 : _$footer_removeEventListener.call(_$footer, eventName1, _headerFooterMousemove);
|
|
5931
5930
|
_$footer == null ? void 0 : (_$footer_removeEventListener1 = _$footer.removeEventListener) == null ? void 0 : _$footer_removeEventListener1.call(_$footer, "mousemove", _headerFooterMousemove);
|
|
5932
5931
|
}
|
|
5933
|
-
if (_$header &&
|
|
5932
|
+
if (_$header && _headerFooterMousemove) {
|
|
5934
5933
|
var _$header_removeEventListener, _$header_removeEventListener1;
|
|
5935
5934
|
_$header == null ? void 0 : (_$header_removeEventListener = _$header.removeEventListener) == null ? void 0 : _$header_removeEventListener.call(_$header, eventName1, _headerFooterMousemove);
|
|
5936
5935
|
_$header == null ? void 0 : (_$header_removeEventListener1 = _$header.removeEventListener) == null ? void 0 : _$header_removeEventListener1.call(_$header, "mousemove", _headerFooterMousemove);
|
|
5937
5936
|
}
|
|
5938
5937
|
}
|
|
5939
|
-
if (_hide) {
|
|
5940
|
-
$container.removeEventListener('mouseleave', _hide);
|
|
5941
|
-
}
|
|
5942
5938
|
_touchStart = null;
|
|
5943
5939
|
_setTimeoutShow = null;
|
|
5944
5940
|
_hide = null;
|
|
@@ -11435,7 +11431,6 @@ var THEME_DEFAULT_OPTIONS = {
|
|
|
11435
11431
|
* theme.on(Theme.EVENTS.loading, (loading: boolean) => {})
|
|
11436
11432
|
* ```
|
|
11437
11433
|
*/ function set(loading) {
|
|
11438
|
-
this._loading = loading;
|
|
11439
11434
|
if (loading) {
|
|
11440
11435
|
var _this__loadingControl;
|
|
11441
11436
|
(_this__loadingControl = this._loadingControl) == null ? void 0 : _this__loadingControl.show();
|
|
@@ -11444,6 +11439,7 @@ var THEME_DEFAULT_OPTIONS = {
|
|
|
11444
11439
|
(_this__loadingControl1 = this._loadingControl) == null ? void 0 : _this__loadingControl1.hide();
|
|
11445
11440
|
}
|
|
11446
11441
|
if (this._loading !== loading) {
|
|
11442
|
+
this._loading = loading;
|
|
11447
11443
|
this.emit(EVENTS.loading, loading);
|
|
11448
11444
|
}
|
|
11449
11445
|
}
|
|
@@ -11740,7 +11736,9 @@ var THEME_DEFAULT_OPTIONS = {
|
|
|
11740
11736
|
},
|
|
11741
11737
|
{
|
|
11742
11738
|
key: "isEzopen",
|
|
11743
|
-
get:
|
|
11739
|
+
get: /**
|
|
11740
|
+
* 私有流地址
|
|
11741
|
+
*/ function get() {
|
|
11744
11742
|
// 私有流地址
|
|
11745
11743
|
return /^ezopen:\/\//.test(this._url);
|
|
11746
11744
|
}
|
|
@@ -11751,21 +11749,26 @@ var THEME_DEFAULT_OPTIONS = {
|
|
|
11751
11749
|
* 判断播放地址是萤石的播放地址
|
|
11752
11750
|
* @since 3.1.2
|
|
11753
11751
|
*/ function get() {
|
|
11754
|
-
|
|
11755
|
-
|
|
11756
|
-
|
|
11757
|
-
|
|
11758
|
-
|
|
11759
|
-
|
|
11760
|
-
|
|
11761
|
-
|
|
11762
|
-
|
|
11763
|
-
|
|
11764
|
-
|
|
11765
|
-
|
|
11766
|
-
|
|
11752
|
+
try {
|
|
11753
|
+
var _this__url_split, _this__url_split1, _path_split;
|
|
11754
|
+
var path = (_this__url_split = this._url.split('?')) == null ? void 0 : _this__url_split[0];
|
|
11755
|
+
var queryStr = (_this__url_split1 = this._url.split('?')) == null ? void 0 : _this__url_split1[1];
|
|
11756
|
+
var lastPath = (_path_split = path.split('/')) == null ? void 0 : _path_split[path.split('/').length - 1];
|
|
11757
|
+
// ezopen://open.ys7.com/BC7799091/1.rec
|
|
11758
|
+
// rtmp://rtmp05open.ys7.com:1935/v3/openpb/BC7799091_1_1
|
|
11759
|
+
// https://open.ys7.com/v3/openpb/llhls/BC7799091_1_1.m3u8
|
|
11760
|
+
// https://rtmp05open.ys7.com:9188/v3/openpb/BC7799091_1_1.flv
|
|
11761
|
+
// https://host:2001/live?dev=D08197169&chn=1&ss=token&stream=1
|
|
11762
|
+
if (// 私有流地址
|
|
11763
|
+
/^ezopen:\/\//.test(path) || // 标准流地址
|
|
11764
|
+
path.includes('/openlive/') || path.includes('/openpb/') && /[a-zA-Z0-9:]+_\d+_\d+/.test(lastPath) || // webtransport 取流
|
|
11765
|
+
utilsTools.isHttp(this._url) && queryStr && /dev=[a-zA-Z0-9:]+/.test(queryStr) && /chn=\d+/.test(queryStr) && /stream=\d+/.test(queryStr) && queryStr.includes('ssn=')) {
|
|
11766
|
+
return true;
|
|
11767
|
+
}
|
|
11768
|
+
return false;
|
|
11769
|
+
} catch (error) {
|
|
11770
|
+
return false;
|
|
11767
11771
|
}
|
|
11768
|
-
return false;
|
|
11769
11772
|
}
|
|
11770
11773
|
}
|
|
11771
11774
|
]);
|
|
@@ -11777,7 +11780,7 @@ var THEME_DEFAULT_OPTIONS = {
|
|
|
11777
11780
|
zh: zh,
|
|
11778
11781
|
en: en
|
|
11779
11782
|
};
|
|
11780
|
-
/** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.
|
|
11783
|
+
/** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.5-beta.1';
|
|
11781
11784
|
|
|
11782
11785
|
exports.Control = Control;
|
|
11783
11786
|
exports.EVENTS = EVENTS;
|
package/dist/index.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* @ezuikit/player-theme v3.1.
|
|
3
|
-
* Copyright (c) 2026-
|
|
2
|
+
* @ezuikit/player-theme v3.1.5-beta.1
|
|
3
|
+
* Copyright (c) 2026-09-03 20:27:16 Ezviz-OpenBiz
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
import EventEmitter from 'eventemitter3';
|
|
@@ -2140,11 +2140,10 @@ var Provider = /*#__PURE__*/ function() {
|
|
|
2140
2140
|
return item.element === element;
|
|
2141
2141
|
});
|
|
2142
2142
|
if (index >= 0) {
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
this.fullscreens[index].onChange.push(onChange);
|
|
2143
|
+
var target = this.fullscreens[index];
|
|
2144
|
+
target.onChange = Array.isArray(target.onChange) ? target.onChange : [];
|
|
2145
|
+
if (!target.onChange.includes(onChange)) {
|
|
2146
|
+
target.onChange.push(onChange);
|
|
2148
2147
|
}
|
|
2149
2148
|
} else {
|
|
2150
2149
|
this.fullscreens.push({
|
|
@@ -4772,7 +4771,7 @@ function debounce(func, wait) {
|
|
|
4772
4771
|
theme.emit(EVENTS.control.dateChange, date);
|
|
4773
4772
|
});
|
|
4774
4773
|
theme.controls.dateControl.on(EVENTS.control.dateDestroy, function() {
|
|
4775
|
-
theme.emit(EVENTS.control.
|
|
4774
|
+
theme.emit(EVENTS.control.dateDestroy);
|
|
4776
4775
|
});
|
|
4777
4776
|
}
|
|
4778
4777
|
// 时间控件
|
|
@@ -5574,7 +5573,7 @@ function _filterLeftRightControls(btnList) {
|
|
|
5574
5573
|
2,
|
|
5575
5574
|
null
|
|
5576
5575
|
];
|
|
5577
|
-
theme.emit(EVENTS.message, theme.i18n.t('FETCH_THEME_FAILED'), 'themeError');
|
|
5576
|
+
theme.emit(EVENTS.message, theme.i18n.t('FETCH_THEME_FAILED') + ' ' + data, 'themeError');
|
|
5578
5577
|
return [
|
|
5579
5578
|
2,
|
|
5580
5579
|
null
|
|
@@ -5586,7 +5585,7 @@ function _filterLeftRightControls(btnList) {
|
|
|
5586
5585
|
2,
|
|
5587
5586
|
null
|
|
5588
5587
|
];
|
|
5589
|
-
theme.emit(EVENTS.message, theme.i18n.t('FETCH_THEME_FAILED'), 'themeError');
|
|
5588
|
+
theme.emit(EVENTS.message, theme.i18n.t('FETCH_THEME_FAILED') + ' ' + data, 'themeError');
|
|
5590
5589
|
return [
|
|
5591
5590
|
2,
|
|
5592
5591
|
null
|
|
@@ -5911,32 +5910,29 @@ function interactiveHF($container, second, callback) {
|
|
|
5911
5910
|
if (Utils.isMobile && _touchStart) {
|
|
5912
5911
|
var eventName = "click";
|
|
5913
5912
|
$container.removeEventListener(eventName, _touchStart);
|
|
5914
|
-
if (_$footer &&
|
|
5913
|
+
if (_$footer && _headerFooterTouchStart) {
|
|
5915
5914
|
_$footer.removeEventListener(eventName, _headerFooterTouchStart);
|
|
5916
5915
|
}
|
|
5917
|
-
if (_$header &&
|
|
5916
|
+
if (_$header && _headerFooterTouchStart) {
|
|
5918
5917
|
_$header.removeEventListener(eventName, _headerFooterTouchStart);
|
|
5919
5918
|
}
|
|
5920
5919
|
}
|
|
5921
|
-
if (_setTimeoutShow) {
|
|
5920
|
+
if (_hide || _setTimeoutShow) {
|
|
5922
5921
|
var eventName1 = window.PointerEvent ? "pointerdown" : "click";
|
|
5923
5922
|
$container.removeEventListener(eventName1, _setTimeoutShow);
|
|
5924
5923
|
$container.removeEventListener('mousemove', _setTimeoutShow); // 不要被 header 和 footer 冒泡过来
|
|
5925
5924
|
$container.removeEventListener('mouseleave', _hide);
|
|
5926
|
-
if (_$footer &&
|
|
5925
|
+
if (_$footer && _headerFooterMousemove) {
|
|
5927
5926
|
var _$footer_removeEventListener, _$footer_removeEventListener1;
|
|
5928
5927
|
_$footer == null ? void 0 : (_$footer_removeEventListener = _$footer.removeEventListener) == null ? void 0 : _$footer_removeEventListener.call(_$footer, eventName1, _headerFooterMousemove);
|
|
5929
5928
|
_$footer == null ? void 0 : (_$footer_removeEventListener1 = _$footer.removeEventListener) == null ? void 0 : _$footer_removeEventListener1.call(_$footer, "mousemove", _headerFooterMousemove);
|
|
5930
5929
|
}
|
|
5931
|
-
if (_$header &&
|
|
5930
|
+
if (_$header && _headerFooterMousemove) {
|
|
5932
5931
|
var _$header_removeEventListener, _$header_removeEventListener1;
|
|
5933
5932
|
_$header == null ? void 0 : (_$header_removeEventListener = _$header.removeEventListener) == null ? void 0 : _$header_removeEventListener.call(_$header, eventName1, _headerFooterMousemove);
|
|
5934
5933
|
_$header == null ? void 0 : (_$header_removeEventListener1 = _$header.removeEventListener) == null ? void 0 : _$header_removeEventListener1.call(_$header, "mousemove", _headerFooterMousemove);
|
|
5935
5934
|
}
|
|
5936
5935
|
}
|
|
5937
|
-
if (_hide) {
|
|
5938
|
-
$container.removeEventListener('mouseleave', _hide);
|
|
5939
|
-
}
|
|
5940
5936
|
_touchStart = null;
|
|
5941
5937
|
_setTimeoutShow = null;
|
|
5942
5938
|
_hide = null;
|
|
@@ -11433,7 +11429,6 @@ var THEME_DEFAULT_OPTIONS = {
|
|
|
11433
11429
|
* theme.on(Theme.EVENTS.loading, (loading: boolean) => {})
|
|
11434
11430
|
* ```
|
|
11435
11431
|
*/ function set(loading) {
|
|
11436
|
-
this._loading = loading;
|
|
11437
11432
|
if (loading) {
|
|
11438
11433
|
var _this__loadingControl;
|
|
11439
11434
|
(_this__loadingControl = this._loadingControl) == null ? void 0 : _this__loadingControl.show();
|
|
@@ -11442,6 +11437,7 @@ var THEME_DEFAULT_OPTIONS = {
|
|
|
11442
11437
|
(_this__loadingControl1 = this._loadingControl) == null ? void 0 : _this__loadingControl1.hide();
|
|
11443
11438
|
}
|
|
11444
11439
|
if (this._loading !== loading) {
|
|
11440
|
+
this._loading = loading;
|
|
11445
11441
|
this.emit(EVENTS.loading, loading);
|
|
11446
11442
|
}
|
|
11447
11443
|
}
|
|
@@ -11738,7 +11734,9 @@ var THEME_DEFAULT_OPTIONS = {
|
|
|
11738
11734
|
},
|
|
11739
11735
|
{
|
|
11740
11736
|
key: "isEzopen",
|
|
11741
|
-
get:
|
|
11737
|
+
get: /**
|
|
11738
|
+
* 私有流地址
|
|
11739
|
+
*/ function get() {
|
|
11742
11740
|
// 私有流地址
|
|
11743
11741
|
return /^ezopen:\/\//.test(this._url);
|
|
11744
11742
|
}
|
|
@@ -11749,21 +11747,26 @@ var THEME_DEFAULT_OPTIONS = {
|
|
|
11749
11747
|
* 判断播放地址是萤石的播放地址
|
|
11750
11748
|
* @since 3.1.2
|
|
11751
11749
|
*/ function get() {
|
|
11752
|
-
|
|
11753
|
-
|
|
11754
|
-
|
|
11755
|
-
|
|
11756
|
-
|
|
11757
|
-
|
|
11758
|
-
|
|
11759
|
-
|
|
11760
|
-
|
|
11761
|
-
|
|
11762
|
-
|
|
11763
|
-
|
|
11764
|
-
|
|
11750
|
+
try {
|
|
11751
|
+
var _this__url_split, _this__url_split1, _path_split;
|
|
11752
|
+
var path = (_this__url_split = this._url.split('?')) == null ? void 0 : _this__url_split[0];
|
|
11753
|
+
var queryStr = (_this__url_split1 = this._url.split('?')) == null ? void 0 : _this__url_split1[1];
|
|
11754
|
+
var lastPath = (_path_split = path.split('/')) == null ? void 0 : _path_split[path.split('/').length - 1];
|
|
11755
|
+
// ezopen://open.ys7.com/BC7799091/1.rec
|
|
11756
|
+
// rtmp://rtmp05open.ys7.com:1935/v3/openpb/BC7799091_1_1
|
|
11757
|
+
// https://open.ys7.com/v3/openpb/llhls/BC7799091_1_1.m3u8
|
|
11758
|
+
// https://rtmp05open.ys7.com:9188/v3/openpb/BC7799091_1_1.flv
|
|
11759
|
+
// https://host:2001/live?dev=D08197169&chn=1&ss=token&stream=1
|
|
11760
|
+
if (// 私有流地址
|
|
11761
|
+
/^ezopen:\/\//.test(path) || // 标准流地址
|
|
11762
|
+
path.includes('/openlive/') || path.includes('/openpb/') && /[a-zA-Z0-9:]+_\d+_\d+/.test(lastPath) || // webtransport 取流
|
|
11763
|
+
isHttp(this._url) && queryStr && /dev=[a-zA-Z0-9:]+/.test(queryStr) && /chn=\d+/.test(queryStr) && /stream=\d+/.test(queryStr) && queryStr.includes('ssn=')) {
|
|
11764
|
+
return true;
|
|
11765
|
+
}
|
|
11766
|
+
return false;
|
|
11767
|
+
} catch (error) {
|
|
11768
|
+
return false;
|
|
11765
11769
|
}
|
|
11766
|
-
return false;
|
|
11767
11770
|
}
|
|
11768
11771
|
}
|
|
11769
11772
|
]);
|
|
@@ -11775,6 +11778,6 @@ var THEME_DEFAULT_OPTIONS = {
|
|
|
11775
11778
|
zh: zh,
|
|
11776
11779
|
en: en
|
|
11777
11780
|
};
|
|
11778
|
-
/** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.
|
|
11781
|
+
/** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.5-beta.1';
|
|
11779
11782
|
|
|
11780
11783
|
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
|
-
* Copyright (c) 2026-
|
|
2
|
+
* @ezuikit/player-theme v3.1.5-beta.1
|
|
3
|
+
* Copyright (c) 2026-09-03 20:27:16 Ezviz-OpenBiz
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
(function (global, factory) {
|
|
@@ -2406,9 +2406,9 @@
|
|
|
2406
2406
|
var dist$3 = {};
|
|
2407
2407
|
|
|
2408
2408
|
/*
|
|
2409
|
-
* @ezuikit/utils-tools v2.0.
|
|
2409
|
+
* @ezuikit/utils-tools v2.0.7
|
|
2410
2410
|
* tools utils
|
|
2411
|
-
* Copyright (c) 2026-
|
|
2411
|
+
* Copyright (c) 2026-09-02 Ezviz-OpenBiz
|
|
2412
2412
|
* Released under the MIT License.
|
|
2413
2413
|
*/
|
|
2414
2414
|
|
|
@@ -2417,7 +2417,7 @@
|
|
|
2417
2417
|
function requireDist$3 () {
|
|
2418
2418
|
if (hasRequiredDist$3) return dist$3;
|
|
2419
2419
|
hasRequiredDist$3 = 1;
|
|
2420
|
-
function isHttp(url){return /^http[s]?:\/\//.test(url)}var getQuery=function(url){var query=url.split("?")[1],obj={};if(query)for(var vars=query.split("&"),i=0;i<vars.length;i++){var pair=vars[i].split("=");obj[pair[0]]=decodeURIComponent(pair[1]);}return obj};function parseEzopenUrl(url){var obj={};if(/^ezopen:\/\//.test(url)){if(url.includes("@")){var endIndex=url.indexOf("@"),startIndex=url.indexOf("//");obj.validateCode=url.substring(startIndex+2,endIndex),url=url.replace(obj.validateCode+"@","");}obj.protocol=url.split("//")[0],obj.search=url.split("?")[1]?"?"+url.split("?")[1]:"",obj.hostname=url.split("/")[2],obj.origin=obj.protocol+"//"+obj.hostname,obj.pathname=url.split("?")[0].replace(obj.origin,""),obj.href=url;var pathnames=obj.pathname.split("/"),lastPath=pathnames[2].split(".");return obj.deviceSerial=pathnames[1],obj.channelNo=lastPath[0],obj.type=lastPath[lastPath.length-1],"live"===obj.type&&(obj.definition=lastPath.length>2?lastPath[1]:"sd"),"rec"===obj.type&&pathnames[2]&&(obj.recType=pathnames[2].includes(".cloud.")?"cloud":""),obj.searchParams=getQuery(url),obj}if(isHttp(url))try{var u=new URL(url),file=u.pathname.split("/").pop();if(file){var m=file.match(/^([^_]+)_(\d+)_(\d+)\./);if(m){var deviceSerial=m[1],channelNo=m[2],quality=m[3];return obj.deviceSerial=deviceSerial,obj.channelNo=channelNo,u.searchParams.get("code")&&(obj.validateCode=u.searchParams.get("code")),obj.search=url.split("?")[1]?"?"+url.split("?")[1]:"",obj.protocol=url.split("//")[0],obj.hostname=url.split("/")[2],obj.origin=obj.protocol+"//"+obj.hostname,obj.pathname=url.split("?")[0].replace(obj.origin,""),obj.href=url,obj.type="live",(url.includes("rec=local")||url.includes("rec=cloud"))&&(obj.type="rec",url.includes("rec=cloud")?obj.recType="cloud":obj.recType=""),"live"===obj.type&&(obj.definition="1"===quality?"hd":"sd"),obj.searchParams=getQuery(url),obj}}}catch(e){}return {}}var codec={h264:1,h265:2,h266:4,vp8:8,vp9:16,av1:32},getQueryVC=function(CODECS){return CODECS.reduce((function(acc,key){return key=key.toLowerCase(),acc+(codec[key]||0)}),0)};function _array_like_to_array(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _instanceof(left,right){return null!=right&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?!!right[Symbol.hasInstance](left):left instanceof right}function _create_for_of_iterator_helper_loose(o,allowArrayLike){var it="undefined"!=typeof Symbol&&o[Symbol.iterator]||o["@@iterator"];if(it)return (it=it.call(o)).next.bind(it);if(Array.isArray(o)||(it=function(o,minLen){if(o){if("string"==typeof o)return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return "Object"===n&&o.constructor&&(n=o.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_array_like_to_array(o,minLen):void 0}}(o))||allowArrayLike){it&&(o=it);var i=0;return function(){return i>=o.length?{done:true}:{done:false,value:o[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var DateTime=function(){function DateTime(){}return DateTime.normalizeUnit=function(unit){return "year"===unit||"y"===unit||"年"===unit?"year":"month"===unit||"M"===unit||"月"===unit?"month":"day"===unit||"d"===unit||"日"===unit?"day":"hour"===unit||"h"===unit||"时"===unit?"hour":"minute"===unit||"m"===unit||"分"===unit?"minute":"second"},DateTime.daysInMonth=function(year,month){return new Date(year,month+1,0).getDate()},DateTime.shiftMonth=function(baseDate,months){var result=new Date(baseDate.getTime()),currentDate=result.getDate();result.setDate(1),result.setMonth(result.getMonth()+months);var maxDate=DateTime.daysInMonth(result.getFullYear(),result.getMonth());return result.setDate(Math.min(currentDate,maxDate)),result},DateTime.add=function(input,value,unit){if(void 0===unit&&(unit="day"),!Number.isFinite(value))throw new Error("Invalid value");var baseDate=DateTime.toDate(input),normalizedUnit=DateTime.normalizeUnit(unit);if("year"===normalizedUnit)return DateTime.shiftMonth(baseDate,12*value);if("month"===normalizedUnit)return DateTime.shiftMonth(baseDate,value);var result=new Date(baseDate.getTime());return result.setTime(result.getTime()+value*{day:864e5,hour:36e5,minute:6e4,second:1e3}[normalizedUnit]),result},DateTime.subtract=function(input,value,unit){return void 0===unit&&(unit="day"),DateTime.add(input,-value,unit)},DateTime.fillZero=function(num,len){return void 0===len&&(len=2),num.toString().padStart(len,"0")},DateTime.format=function(input,format){var date;if(_instanceof(input,Date))date=input;else {if("number"!=typeof input&&"string"!=typeof input)throw new Error("Invalid date input");date=DateTime.toDate(input+"");}for(var _step,result=format,_iterator=_create_for_of_iterator_helper_loose([[/(yyyy|YYYY)/g,function(){return DateTime.fillZero(date.getFullYear(),4)}],[/(yy|YY)/g,function(){return DateTime.fillZero(date.getFullYear()%100,2)}],[/(MM)/g,function(){return DateTime.fillZero(date.getMonth()+1,2)}],[/(M)/g,function(){return (date.getMonth()+1).toString()}],[/(dd|DD)/g,function(){return DateTime.fillZero(date.getDate(),2)}],[/(d|D)/g,function(){return date.getDate().toString()}],[/(HH|hh)/g,function(){return DateTime.fillZero(date.getHours(),2)}],[/(H|h)/g,function(){return date.getHours().toString()}],[/(mm)/g,function(){return DateTime.fillZero(date.getMinutes(),2)}],[/(m)/g,function(){return date.getMinutes().toString()}],[/(ss|SS)/g,function(){return DateTime.fillZero(date.getSeconds(),2)}],[/(s|S)/g,function(){return date.getSeconds().toString()}],[/(fff)/g,function(){return DateTime.fillZero(date.getMilliseconds(),3)}]]);!(_step=_iterator()).done;){var _step_value=_step.value,regexp=_step_value[0],fn=_step_value[1];result=result.replace(regexp,fn);}return result},DateTime.toDate=function(str){if(_instanceof(str,Date))return str;str=(str+"").trim().replace(/\/|\./gi,"-"),/^\d{4}$/.test(str)&&(str+="-01"),/^\d{4}-\d{2}$/.test(str)&&(str+="-01");try{return /^\d{4}-\d{2}-\d{2}$/.test(str)?new Date(+str.slice(0,4),+str.slice(5,7)-1,+str.slice(8,10),0,0,0):/^\d{8}$/.test(str)?(str+="",new Date(+str.slice(0,4),+str.slice(4,6)-1,+str.slice(6,8),0,0,0)):/^\d{14}$/.test(str)?(str+="",new Date(+str.slice(0,4),+str.slice(4,6)-1,+str.slice(6,8),+str.slice(8,10),+str.slice(10,12),+str.slice(12,14))):/^\d{13}$/.test(str)?new Date(Number(str)):/^\d{10}$/.test(str)?new Date(1e3*Number(str)):new Date(str)}catch(error){throw new Error("Invalid date string")}},DateTime.diff=function(date1,date2,type){ void 0===type&&(type="second");var d1=DateTime.toDate(date1),d2=DateTime.toDate(date2);return "second"===type?Math.floor((d1.getTime()-d2.getTime())/1e3):"minute"===type?Math.floor((d1.getTime()-d2.getTime())/1e3/60):"hour"===type?Math.floor((d1.getTime()-d2.getTime())/1e3/60/60):"day"===type?Math.floor((d1.getTime()-d2.getTime())/1e3/60/60/24):Math.abs(d1.getTime()-d2.getTime())},DateTime}();dist$3.DateTime=DateTime,dist$3.addVc=function(url,codecs){ void 0===codecs&&(codecs=["h264"]);var vc=getQueryVC(codecs||["h264"]),host=url.split("?")[0],query=url.split("?")[1];return query=(query||"").split("&").filter((function(item){return !/^vc=\d?/.test(item)})).join("&"),host+"?"+(query+=(query?"&":"")+"vc="+vc)},dist$3.getQuery=getQuery,dist$3.getQueryVC=getQueryVC,dist$3.getStaticPath=function(path,base){ void 0===base&&(base="");var protocolReg=/^(https?:\/\/|^\/\/)/;if(""===path||void 0===path)return "";if(protocolReg.test(path))return path;path=path.replace(/\/+/g,"/"),base=protocolReg.test(base||"")?base:window.location.href;try{return new URL(path,base).href}catch(error){return path}},dist$3.isEmpty=function(param){return void 0===param||""===param||null===param},dist$3.isHttp=isHttp,dist$3.isMobile=function(agent){var _navigator,_navigator1,_navigator2,_window,_navigator_maxTouchPoints;return /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Opera Mini)/i.test(null!=agent?agent:null==(_navigator=navigator)?void 0:_navigator.userAgent)||/Macintosh/i.test(agent||(null==(_navigator1=navigator)?void 0:_navigator1.userAgent))&&(null!=(_navigator_maxTouchPoints=null==(_navigator2=navigator)?void 0:_navigator2.maxTouchPoints)?_navigator_maxTouchPoints:0)>1||!!(null==(_window=window)?void 0:_window.__IS_MOBILE_SIMULATOR__)},dist$3.isRealMobile=function(agent){var _navigator,_ref,ua=(null!=(_ref=null!=agent?agent:null==(_navigator=navigator)?void 0:_navigator.userAgent)?_ref:"").toLowerCase();if(/ipad|tablet|playbook|silk|android(?!.*mobile)/i.test(ua))return false;var hasTouch="ontouchstart"in window||navigator.maxTouchPoints>0;return /android|webos|iphone|ipod|blackberry|iemobile|opera mini/i.test(ua)&&hasTouch},dist$3.objectIsNull=function(obj){try{return "{}"===JSON.stringify(obj)}catch(error){return false}},dist$3.parseEzopenUrl=parseEzopenUrl,dist$3.pick=function(obj,keys){return Object.entries(obj).reduce((function(acc,param){var key=param[0],value=param[1];return keys.includes(key)&&(acc[key]=value),acc}),{})},dist$3.switchEzopenUrl=function(url,options){var _ref=null!=options?options:{},type=_ref.type,recType=_ref.recType,search=_ref.search,definition=_ref.definition,channelNo=_ref.channelNo,deviceSerial=_ref.deviceSerial,validateCode=_ref.validateCode,obj=parseEzopenUrl(url);if(search){var ns=Object.assign({},obj.searchParams,getQuery("?"+search.replace("?","")));search=Object.entries(ns).reduce((function(acc,param){var key=param[0],value=param[1];return ""===value?acc:acc+=key+"="+encodeURIComponent(value)+"&"}),"?").replace(/&$/,"");}else search=obj.search;return type=type||obj.type,recType=null!=recType?recType:obj.recType,definition=null!=definition?definition:obj.definition,channelNo=channelNo||obj.channelNo,deviceSerial=deviceSerial||obj.deviceSerial,validateCode=null!=validateCode?validateCode:obj.validateCode,obj.protocol+"//"+(validateCode?validateCode+"@":"")+obj.hostname+"/"+deviceSerial+"/"+channelNo+("rec"===type&&recType?"."+recType:"")+("live"===type&&"hd"===definition?"."+definition:"")+"."+type+search};
|
|
2420
|
+
function isHttp(url){return /^http[s]?:\/\//.test(url)}var getQuery=function(url){var query=url.split("?")[1],obj={};if(query)for(var vars=query.split("&"),i=0;i<vars.length;i++){var pair=vars[i].split("=");obj[pair[0]]=decodeURIComponent(pair[1]);}return obj};function parseEzopenUrl(url){var obj={};if(/^ezopen:\/\//.test(url)){if(url.includes("@")){var endIndex=url.indexOf("@"),startIndex=url.indexOf("//");obj.validateCode=url.substring(startIndex+2,endIndex),url=url.replace(obj.validateCode+"@","");}obj.protocol=url.split("//")[0],obj.search=url.split("?")[1]?"?"+url.split("?")[1]:"",obj.hostname=url.split("/")[2],obj.origin=obj.protocol+"//"+obj.hostname,obj.pathname=url.split("?")[0].replace(obj.origin,""),obj.href=url;var pathnames=obj.pathname.split("/"),lastPath=pathnames[2].split(".");return obj.deviceSerial=pathnames[1],obj.channelNo=lastPath[0],obj.streamTypeIn=pathnames[2].includes(".hd.")?1:2,obj.type=lastPath[lastPath.length-1],"live"===obj.type&&(obj.definition=lastPath.length>2?lastPath[1]:"sd"),"rec"===obj.type&&pathnames[2]&&(obj.recType=pathnames[2].includes(".cloud.")?"cloud":""),obj.searchParams=getQuery(url),obj}if(isHttp(url))try{var u=new URL(url),file=u.pathname.split("/").pop();if(file&&["live","playback","cloudplayback","download"].includes(file)&&u.search.includes("dev=")&&u.search.includes("stream=")){var deviceSerial=u.searchParams.get("dev"),channelNo=u.searchParams.get("chn")||"1",sessionToken=u.searchParams.get("ssn"),stream=u.searchParams.get("stream"),streamTypeIn=Number(stream);if("https:"!==u.protocol||!deviceSerial||!channelNo||!sessionToken)return {};var searchParams={};u.searchParams.forEach((function(value,key){searchParams[key]=value;})),obj.protocol=u.protocol,obj.search=u.search,obj.searchParams=searchParams,obj.pathname=u.pathname,obj.origin=u.origin,obj.href=url,obj.hostname=u.host,obj.deviceSerial=deviceSerial,obj.channelNo=channelNo,obj.streamTypeIn=streamTypeIn;var validateCode=u.searchParams.get("code");return validateCode&&(obj.validateCode=validateCode),"live"===file?(obj.type="live",obj.definition=1===streamTypeIn?"hd":"sd"):"playback"===file?(obj.type="rec",obj.recType=""):"cloudplayback"===file?(obj.type="rec",obj.recType="cloud"):obj.type="download",obj}if(file){var m=file.match(/^([^_]+)_(\d+)_(\d+)\./);if(m){var deviceSerial1=m[1],channelNo1=m[2],quality=m[3];return obj.deviceSerial=deviceSerial1,obj.channelNo=channelNo1,obj.streamTypeIn=+quality,u.searchParams.get("code")&&(obj.validateCode=u.searchParams.get("code")),obj.search=url.split("?")[1]?"?"+url.split("?")[1]:"",obj.protocol=url.split("//")[0],obj.hostname=url.split("/")[2],obj.origin=obj.protocol+"//"+obj.hostname,obj.pathname=url.split("?")[0].replace(obj.origin,""),obj.href=url,obj.type="live",(url.includes("rec=local")||url.includes("rec=cloud"))&&(obj.type="rec",url.includes("rec=cloud")?obj.recType="cloud":obj.recType=""),"live"===obj.type&&(obj.definition="1"===quality?"hd":"sd"),obj.searchParams=getQuery(url),obj}}}catch(e){}return {}}var codec={h264:1,h265:2,h266:4,vp8:8,vp9:16,av1:32},getQueryVC=function(CODECS){return CODECS.reduce((function(acc,key){return key=key.toLowerCase(),acc+(codec[key]||0)}),0)};function _array_like_to_array(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _instanceof(left,right){return null!=right&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?!!right[Symbol.hasInstance](left):left instanceof right}function _create_for_of_iterator_helper_loose(o,allowArrayLike){var it="undefined"!=typeof Symbol&&o[Symbol.iterator]||o["@@iterator"];if(it)return (it=it.call(o)).next.bind(it);if(Array.isArray(o)||(it=function(o,minLen){if(o){if("string"==typeof o)return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return "Object"===n&&o.constructor&&(n=o.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_array_like_to_array(o,minLen):void 0}}(o))||allowArrayLike){it&&(o=it);var i=0;return function(){return i>=o.length?{done:true}:{done:false,value:o[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var DateTime=function(){function DateTime(){}return DateTime.normalizeUnit=function(unit){return "year"===unit||"y"===unit||"年"===unit?"year":"month"===unit||"M"===unit||"月"===unit?"month":"day"===unit||"d"===unit||"日"===unit?"day":"hour"===unit||"h"===unit||"时"===unit?"hour":"minute"===unit||"m"===unit||"分"===unit?"minute":"second"},DateTime.daysInMonth=function(year,month){return new Date(year,month+1,0).getDate()},DateTime.shiftMonth=function(baseDate,months){var result=new Date(baseDate.getTime()),currentDate=result.getDate();result.setDate(1),result.setMonth(result.getMonth()+months);var maxDate=DateTime.daysInMonth(result.getFullYear(),result.getMonth());return result.setDate(Math.min(currentDate,maxDate)),result},DateTime.add=function(input,value,unit){if(void 0===unit&&(unit="day"),!Number.isFinite(value))throw new Error("Invalid value");var baseDate=DateTime.toDate(input),normalizedUnit=DateTime.normalizeUnit(unit);if("year"===normalizedUnit)return DateTime.shiftMonth(baseDate,12*value);if("month"===normalizedUnit)return DateTime.shiftMonth(baseDate,value);var result=new Date(baseDate.getTime());return result.setTime(result.getTime()+value*{day:864e5,hour:36e5,minute:6e4,second:1e3}[normalizedUnit]),result},DateTime.subtract=function(input,value,unit){return void 0===unit&&(unit="day"),DateTime.add(input,-value,unit)},DateTime.fillZero=function(num,len){return void 0===len&&(len=2),num.toString().padStart(len,"0")},DateTime.format=function(input,format){var date;if(_instanceof(input,Date))date=input;else {if("number"!=typeof input&&"string"!=typeof input)throw new Error("Invalid date input");date=DateTime.toDate(input+"");}for(var _step,result=format,_iterator=_create_for_of_iterator_helper_loose([[/(yyyy|YYYY)/g,function(){return DateTime.fillZero(date.getFullYear(),4)}],[/(yy|YY)/g,function(){return DateTime.fillZero(date.getFullYear()%100,2)}],[/(MM)/g,function(){return DateTime.fillZero(date.getMonth()+1,2)}],[/(M)/g,function(){return (date.getMonth()+1).toString()}],[/(dd|DD)/g,function(){return DateTime.fillZero(date.getDate(),2)}],[/(d|D)/g,function(){return date.getDate().toString()}],[/(HH|hh)/g,function(){return DateTime.fillZero(date.getHours(),2)}],[/(H|h)/g,function(){return date.getHours().toString()}],[/(mm)/g,function(){return DateTime.fillZero(date.getMinutes(),2)}],[/(m)/g,function(){return date.getMinutes().toString()}],[/(ss|SS)/g,function(){return DateTime.fillZero(date.getSeconds(),2)}],[/(s|S)/g,function(){return date.getSeconds().toString()}],[/(fff)/g,function(){return DateTime.fillZero(date.getMilliseconds(),3)}]]);!(_step=_iterator()).done;){var _step_value=_step.value,regexp=_step_value[0],fn=_step_value[1];result=result.replace(regexp,fn);}return result},DateTime.toDate=function(str){if(_instanceof(str,Date))return str;str=(str+"").trim().replace(/\/|\./gi,"-"),/^\d{4}$/.test(str)&&(str+="-01"),/^\d{4}-\d{2}$/.test(str)&&(str+="-01");try{return /^\d{4}-\d{2}-\d{2}$/.test(str)?new Date(+str.slice(0,4),+str.slice(5,7)-1,+str.slice(8,10),0,0,0):/^\d{8}$/.test(str)?(str+="",new Date(+str.slice(0,4),+str.slice(4,6)-1,+str.slice(6,8),0,0,0)):/^\d{14}$/.test(str)?(str+="",new Date(+str.slice(0,4),+str.slice(4,6)-1,+str.slice(6,8),+str.slice(8,10),+str.slice(10,12),+str.slice(12,14))):/^\d{13}$/.test(str)?new Date(Number(str)):/^\d{10}$/.test(str)?new Date(1e3*Number(str)):new Date(str)}catch(error){throw new Error("Invalid date string")}},DateTime.diff=function(date1,date2,type){ void 0===type&&(type="second");var d1=DateTime.toDate(date1),d2=DateTime.toDate(date2);return "second"===type?Math.floor((d1.getTime()-d2.getTime())/1e3):"minute"===type?Math.floor((d1.getTime()-d2.getTime())/1e3/60):"hour"===type?Math.floor((d1.getTime()-d2.getTime())/1e3/60/60):"day"===type?Math.floor((d1.getTime()-d2.getTime())/1e3/60/60/24):Math.abs(d1.getTime()-d2.getTime())},DateTime}();dist$3.DateTime=DateTime,dist$3.addVc=function(url,codecs){ void 0===codecs&&(codecs=["h264"]);var vc=getQueryVC(codecs||["h264"]),host=url.split("?")[0],query=url.split("?")[1];return query=(query||"").split("&").filter((function(item){return !/^vc=\d?/.test(item)})).join("&"),host+"?"+(query+=(query?"&":"")+"vc="+vc)},dist$3.getQuery=getQuery,dist$3.getQueryVC=getQueryVC,dist$3.getStaticPath=function(path,base){ void 0===base&&(base="");var protocolReg=/^(https?:\/\/|^\/\/)/;if(""===path||void 0===path)return "";if(protocolReg.test(path))return path;path=path.replace(/\/+/g,"/"),base=protocolReg.test(base||"")?base:window.location.href;try{return new URL(path,base).href}catch(error){return path}},dist$3.isEmpty=function(param){return void 0===param||""===param||null===param},dist$3.isHttp=isHttp,dist$3.isMobile=function(agent){var _navigator,_navigator1,_navigator2,_window,_navigator_maxTouchPoints;return /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Opera Mini)/i.test(null!=agent?agent:null==(_navigator=navigator)?void 0:_navigator.userAgent)||/Macintosh/i.test(agent||(null==(_navigator1=navigator)?void 0:_navigator1.userAgent))&&(null!=(_navigator_maxTouchPoints=null==(_navigator2=navigator)?void 0:_navigator2.maxTouchPoints)?_navigator_maxTouchPoints:0)>1||!!(null==(_window=window)?void 0:_window.__IS_MOBILE_SIMULATOR__)},dist$3.isRealMobile=function(agent){var _navigator,_ref,ua=(null!=(_ref=null!=agent?agent:null==(_navigator=navigator)?void 0:_navigator.userAgent)?_ref:"").toLowerCase();if(/ipad|tablet|playbook|silk|android(?!.*mobile)/i.test(ua))return false;var hasTouch="ontouchstart"in window||navigator.maxTouchPoints>0;return /android|webos|iphone|ipod|blackberry|iemobile|opera mini/i.test(ua)&&hasTouch},dist$3.objectIsNull=function(obj){try{return "{}"===JSON.stringify(obj)}catch(error){return false}},dist$3.parseEzopenUrl=parseEzopenUrl,dist$3.pick=function(obj,keys){return Object.entries(obj).reduce((function(acc,param){var key=param[0],value=param[1];return keys.includes(key)&&(acc[key]=value),acc}),{})},dist$3.switchEzopenUrl=function(url,options){var _ref=null!=options?options:{},type=_ref.type,recType=_ref.recType,search=_ref.search,definition=_ref.definition,channelNo=_ref.channelNo,deviceSerial=_ref.deviceSerial,validateCode=_ref.validateCode,obj=parseEzopenUrl(url);if(search){var ns=Object.assign({},obj.searchParams,getQuery("?"+search.replace("?","")));search=Object.entries(ns).reduce((function(acc,param){var key=param[0],value=param[1];return ""===value?acc:acc+=key+"="+encodeURIComponent(value)+"&"}),"?").replace(/&$/,"");}else search=obj.search;return type=type||obj.type,recType=null!=recType?recType:obj.recType,definition=null!=definition?definition:obj.definition,channelNo=channelNo||obj.channelNo,deviceSerial=deviceSerial||obj.deviceSerial,validateCode=null!=validateCode?validateCode:obj.validateCode,obj.protocol+"//"+(validateCode?validateCode+"@":"")+obj.hostname+"/"+deviceSerial+"/"+channelNo+("rec"===type&&recType?"."+recType:"")+("live"===type&&"hd"===definition?"."+definition:"")+"."+type+search};
|
|
2421
2421
|
return dist$3;
|
|
2422
2422
|
}
|
|
2423
2423
|
|
|
@@ -3588,11 +3588,10 @@
|
|
|
3588
3588
|
return item.element === element;
|
|
3589
3589
|
});
|
|
3590
3590
|
if (index >= 0) {
|
|
3591
|
-
|
|
3592
|
-
|
|
3593
|
-
|
|
3594
|
-
|
|
3595
|
-
this.fullscreens[index].onChange.push(onChange);
|
|
3591
|
+
var target = this.fullscreens[index];
|
|
3592
|
+
target.onChange = Array.isArray(target.onChange) ? target.onChange : [];
|
|
3593
|
+
if (!target.onChange.includes(onChange)) {
|
|
3594
|
+
target.onChange.push(onChange);
|
|
3596
3595
|
}
|
|
3597
3596
|
} else {
|
|
3598
3597
|
this.fullscreens.push({
|
|
@@ -6261,7 +6260,7 @@
|
|
|
6261
6260
|
theme.emit(EVENTS$2.control.dateChange, date);
|
|
6262
6261
|
});
|
|
6263
6262
|
theme.controls.dateControl.on(EVENTS$2.control.dateDestroy, function() {
|
|
6264
|
-
theme.emit(EVENTS$2.control.
|
|
6263
|
+
theme.emit(EVENTS$2.control.dateDestroy);
|
|
6265
6264
|
});
|
|
6266
6265
|
}
|
|
6267
6266
|
// 时间控件
|
|
@@ -7070,7 +7069,7 @@
|
|
|
7070
7069
|
2,
|
|
7071
7070
|
null
|
|
7072
7071
|
];
|
|
7073
|
-
theme.emit(EVENTS$2.message, theme.i18n.t('FETCH_THEME_FAILED'), 'themeError');
|
|
7072
|
+
theme.emit(EVENTS$2.message, theme.i18n.t('FETCH_THEME_FAILED') + ' ' + data, 'themeError');
|
|
7074
7073
|
return [
|
|
7075
7074
|
2,
|
|
7076
7075
|
null
|
|
@@ -7082,7 +7081,7 @@
|
|
|
7082
7081
|
2,
|
|
7083
7082
|
null
|
|
7084
7083
|
];
|
|
7085
|
-
theme.emit(EVENTS$2.message, theme.i18n.t('FETCH_THEME_FAILED'), 'themeError');
|
|
7084
|
+
theme.emit(EVENTS$2.message, theme.i18n.t('FETCH_THEME_FAILED') + ' ' + data, 'themeError');
|
|
7086
7085
|
return [
|
|
7087
7086
|
2,
|
|
7088
7087
|
null
|
|
@@ -7407,32 +7406,29 @@
|
|
|
7407
7406
|
if (Utils.isMobile && _touchStart) {
|
|
7408
7407
|
var eventName = "click";
|
|
7409
7408
|
$container.removeEventListener(eventName, _touchStart);
|
|
7410
|
-
if (_$footer &&
|
|
7409
|
+
if (_$footer && _headerFooterTouchStart) {
|
|
7411
7410
|
_$footer.removeEventListener(eventName, _headerFooterTouchStart);
|
|
7412
7411
|
}
|
|
7413
|
-
if (_$header &&
|
|
7412
|
+
if (_$header && _headerFooterTouchStart) {
|
|
7414
7413
|
_$header.removeEventListener(eventName, _headerFooterTouchStart);
|
|
7415
7414
|
}
|
|
7416
7415
|
}
|
|
7417
|
-
if (_setTimeoutShow) {
|
|
7416
|
+
if (_hide || _setTimeoutShow) {
|
|
7418
7417
|
var eventName1 = window.PointerEvent ? "pointerdown" : "click";
|
|
7419
7418
|
$container.removeEventListener(eventName1, _setTimeoutShow);
|
|
7420
7419
|
$container.removeEventListener('mousemove', _setTimeoutShow); // 不要被 header 和 footer 冒泡过来
|
|
7421
7420
|
$container.removeEventListener('mouseleave', _hide);
|
|
7422
|
-
if (_$footer &&
|
|
7421
|
+
if (_$footer && _headerFooterMousemove) {
|
|
7423
7422
|
var _$footer_removeEventListener, _$footer_removeEventListener1;
|
|
7424
7423
|
_$footer == null ? void 0 : (_$footer_removeEventListener = _$footer.removeEventListener) == null ? void 0 : _$footer_removeEventListener.call(_$footer, eventName1, _headerFooterMousemove);
|
|
7425
7424
|
_$footer == null ? void 0 : (_$footer_removeEventListener1 = _$footer.removeEventListener) == null ? void 0 : _$footer_removeEventListener1.call(_$footer, "mousemove", _headerFooterMousemove);
|
|
7426
7425
|
}
|
|
7427
|
-
if (_$header &&
|
|
7426
|
+
if (_$header && _headerFooterMousemove) {
|
|
7428
7427
|
var _$header_removeEventListener, _$header_removeEventListener1;
|
|
7429
7428
|
_$header == null ? void 0 : (_$header_removeEventListener = _$header.removeEventListener) == null ? void 0 : _$header_removeEventListener.call(_$header, eventName1, _headerFooterMousemove);
|
|
7430
7429
|
_$header == null ? void 0 : (_$header_removeEventListener1 = _$header.removeEventListener) == null ? void 0 : _$header_removeEventListener1.call(_$header, "mousemove", _headerFooterMousemove);
|
|
7431
7430
|
}
|
|
7432
7431
|
}
|
|
7433
|
-
if (_hide) {
|
|
7434
|
-
$container.removeEventListener('mouseleave', _hide);
|
|
7435
|
-
}
|
|
7436
7432
|
_touchStart = null;
|
|
7437
7433
|
_setTimeoutShow = null;
|
|
7438
7434
|
_hide = null;
|
|
@@ -13434,7 +13430,6 @@
|
|
|
13434
13430
|
* theme.on(Theme.EVENTS.loading, (loading: boolean) => {})
|
|
13435
13431
|
* ```
|
|
13436
13432
|
*/ function set(loading) {
|
|
13437
|
-
this._loading = loading;
|
|
13438
13433
|
if (loading) {
|
|
13439
13434
|
var _this__loadingControl;
|
|
13440
13435
|
(_this__loadingControl = this._loadingControl) == null ? void 0 : _this__loadingControl.show();
|
|
@@ -13443,6 +13438,7 @@
|
|
|
13443
13438
|
(_this__loadingControl1 = this._loadingControl) == null ? void 0 : _this__loadingControl1.hide();
|
|
13444
13439
|
}
|
|
13445
13440
|
if (this._loading !== loading) {
|
|
13441
|
+
this._loading = loading;
|
|
13446
13442
|
this.emit(EVENTS$2.loading, loading);
|
|
13447
13443
|
}
|
|
13448
13444
|
}
|
|
@@ -13739,7 +13735,9 @@
|
|
|
13739
13735
|
},
|
|
13740
13736
|
{
|
|
13741
13737
|
key: "isEzopen",
|
|
13742
|
-
get:
|
|
13738
|
+
get: /**
|
|
13739
|
+
* 私有流地址
|
|
13740
|
+
*/ function get() {
|
|
13743
13741
|
// 私有流地址
|
|
13744
13742
|
return /^ezopen:\/\//.test(this._url);
|
|
13745
13743
|
}
|
|
@@ -13750,21 +13748,26 @@
|
|
|
13750
13748
|
* 判断播放地址是萤石的播放地址
|
|
13751
13749
|
* @since 3.1.2
|
|
13752
13750
|
*/ function get() {
|
|
13753
|
-
|
|
13754
|
-
|
|
13755
|
-
|
|
13756
|
-
|
|
13757
|
-
|
|
13758
|
-
|
|
13759
|
-
|
|
13760
|
-
|
|
13761
|
-
|
|
13762
|
-
|
|
13763
|
-
|
|
13764
|
-
|
|
13765
|
-
|
|
13751
|
+
try {
|
|
13752
|
+
var _this__url_split, _this__url_split1, _path_split;
|
|
13753
|
+
var path = (_this__url_split = this._url.split('?')) == null ? void 0 : _this__url_split[0];
|
|
13754
|
+
var queryStr = (_this__url_split1 = this._url.split('?')) == null ? void 0 : _this__url_split1[1];
|
|
13755
|
+
var lastPath = (_path_split = path.split('/')) == null ? void 0 : _path_split[path.split('/').length - 1];
|
|
13756
|
+
// ezopen://open.ys7.com/BC7799091/1.rec
|
|
13757
|
+
// rtmp://rtmp05open.ys7.com:1935/v3/openpb/BC7799091_1_1
|
|
13758
|
+
// https://open.ys7.com/v3/openpb/llhls/BC7799091_1_1.m3u8
|
|
13759
|
+
// https://rtmp05open.ys7.com:9188/v3/openpb/BC7799091_1_1.flv
|
|
13760
|
+
// https://host:2001/live?dev=D08197169&chn=1&ss=token&stream=1
|
|
13761
|
+
if (// 私有流地址
|
|
13762
|
+
/^ezopen:\/\//.test(path) || // 标准流地址
|
|
13763
|
+
path.includes('/openlive/') || path.includes('/openpb/') && /[a-zA-Z0-9:]+_\d+_\d+/.test(lastPath) || // webtransport 取流
|
|
13764
|
+
distExports$3.isHttp(this._url) && queryStr && /dev=[a-zA-Z0-9:]+/.test(queryStr) && /chn=\d+/.test(queryStr) && /stream=\d+/.test(queryStr) && queryStr.includes('ssn=')) {
|
|
13765
|
+
return true;
|
|
13766
|
+
}
|
|
13767
|
+
return false;
|
|
13768
|
+
} catch (error) {
|
|
13769
|
+
return false;
|
|
13766
13770
|
}
|
|
13767
|
-
return false;
|
|
13768
13771
|
}
|
|
13769
13772
|
}
|
|
13770
13773
|
]);
|
|
@@ -13776,7 +13779,7 @@
|
|
|
13776
13779
|
zh: zh,
|
|
13777
13780
|
en: en
|
|
13778
13781
|
};
|
|
13779
|
-
/** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.
|
|
13782
|
+
/** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.5-beta.1';
|
|
13780
13783
|
|
|
13781
13784
|
// 不要动这里的代码, 这个出口是为了编译成 umd 规范的文件
|
|
13782
13785
|
|
package/dist/style.css
CHANGED
|
@@ -22,7 +22,7 @@ body.ezplayer-body-mobile-noscroll{background-color:#000!important;height:100vh;
|
|
|
22
22
|
.ezplayer-icon{align-items:center;color:inherit;display:inline-flex;font-size:var(--ezplayer-icon-font-size,24px);font-style:normal;line-height:0;text-align:center;text-rendering:optimizeLegibility;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
|
|
23
23
|
.ezplayer-select-panel{background-color:var(--ezplayer-panel-bg-color,rgba(0,0,0,.7));border-radius:var(--ezplayer-border-radius,8px);color:var(--ezplayer-default-color,#fff);display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;position:relative}.ezplayer-select-btn{width:50px}.ezplayer-select-btn span{display:inline-block;font-size:12px;font-size:calc(var(--ezplayer-font-size, 14px) - 2px);line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ezplayer-select-list{align-items:center;display:flex;flex-direction:column;font-size:var(--ezplayer-font-size,14px);list-style:none;margin:0;padding:12px 0!important;width:100%}.ezplayer-select-option{box-sizing:border-box;cursor:pointer;display:inline-flex;height:28px;justify-content:center;line-height:18px;list-style:none;padding:5px 20px!important;transition:color .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.ezplayer-select-option span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ezplayer-select-option:hover{color:var(--ezplayer-active-color)}.ezplayer-select-cancel,.ezplayer-select-close{display:none}.ezplayer-select-cancel{font-size:var(--ezplayer-font-size,14px)}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-panel{background-color:transparent;max-width:400px;padding-bottom:calc(54px + env(safe-area-inset-bottom));width:90%}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-list{align-items:center;background-color:#fff;border-radius:var(--ezplayer-border-radius,8px);display:flex;flex-direction:column;font-size:var(--ezplayer-font-size,14px);max-height:70vh;max-height:calc(90vh - 108px);overflow-x:hidden;overflow-y:auto;padding:20px 0!important}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-cancel,.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-option{align-items:center;box-sizing:border-box;color:#2c2c2c;display:inline-flex;height:36px;justify-content:center;line-height:26px;padding:5px 20px!important}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-option{--webkit-tap-highlight-color:transparent!important}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-option:hover{color:#2c2c2c}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-option:active{background-color:#f8f8f8}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-cancel{background-color:#fff;border-radius:var(--ezplayer-border-radius,8px);display:flex;height:54px;margin-top:8px}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-cancel:active{color:var(--ezplayer-active-color)}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .epicker-body{bottom:0;left:unset;right:0;top:0;width:240px}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-panel{align-items:center;background-color:var(--ezplayer-panel-bg-color,rgba(0,0,0,.7));border-bottom-right-radius:0;border-top-right-radius:0;height:100%;justify-content:center;padding-bottom:env(safe-area-inset-bottom);width:100%}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-list{background-color:transparent;border-radius:0;color:#fff;height:auto;margin:0;max-height:100%;width:100%}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-option,.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-option:hover{color:#fff}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-option:active{background-color:transparent;color:var(--ezplayer-active-color)}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-cancel{display:none}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-close{display:inline-flex;left:10px;position:absolute;top:10px}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-close:active{color:var(--ezplayer-active-color)}
|
|
24
24
|
.ezplayer-control-fullscreen .ezplayer-icon-exit-fullscreen,.ezplayer-control-global-fullscreen .ezplayer-icon-exit-global-fullscreen{display:none}.ezplayer-fullscreen .ezplayer-icon-exit-fullscreen{display:inline-flex}.ezplayer-fullscreen .ezplayer-icon-fullscreen{display:none}.ezplayer-global-fullscreen .ezplayer-icon-exit-global-fullscreen{display:inline-flex}.ezplayer-global-fullscreen .ezplayer-icon-global-fullscreen{display:none}
|
|
25
|
-
.ezplayer-loading{background-color:rgba(0,0,0,.5);bottom:0;color:#fff;display:none;font-size:14px;height:100%;left:0;position:absolute;right:0;top:0;transition:transform .3s cubic-bezier(.78,.14,.15,.86);vertical-align:middle;width:100%;z-index:4}.ezplayer-loading-dot{display:inline-block;font-size:25px;height:25px;position:relative;width:25px}.ezplayer-loading-dot-item{background-color:#fff;border-radius:2px;display:block;height:10px;position:absolute;transform-origin:50% 50%;width:10px}.ezplayer-loading-dot-item:first-child{animation:animationShape1 2s linear 0s infinite normal;left:0;opacity:1;top:0}.ezplayer-loading-dot-item:nth-child(2){animation:animationShape2 2s linear 0s infinite normal;left:15px;opacity:.8;top:0}.ezplayer-loading-dot-item:nth-child(3){animation:animationShape3 2s linear 0s infinite normal;left:0;opacity:.5;top:15px}.ezplayer-loading-dot-item:nth-child(4){animation:animationShape4 2s linear 0s infinite normal;left:15px;opacity:.3;top:15px}.ezplayer-loading-dot-load{animation:rotation 1s infinite}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.ezplayer-load-blur{background:#fff;opacity:.5}}@keyframes ezdSpinMove{to{opacity:1}}@keyframes ezdRotate{to{transform:rotate(405deg)}}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes animationShape1{0%{transform:translate(0)}25%{transform:translateY(15px)}50%{transform:translate(15px,15px)}75%{transform:translate(15px)}to{transform:translate(translate)}}@keyframes animationShape2{0%{transform:translate(0)}25%{transform:translate(-15px)}50%{transform:translate(-15px,15px)}75%{transform:translateY(15px)}}@keyframes animationShape3{0%{transform:translate(0)}25%{transform:translate(15px)}50%{transform:translate(15px,-15px)}75%{transform:translateY(-15px)}}@keyframes animationShape4{0%{transform:translate(0)}25%{transform:translateY(-15px)}50%{transform:translate(-15px,-15px)}75%{transform:translate(-15px)}}.ezplayer-loading-text{margin-top:20px}
|
|
25
|
+
.ezplayer-loading{background-color:rgba(0,0,0,.5);bottom:0;color:#fff;display:none;font-size:14px;height:100%;left:0;position:absolute;right:0;top:0;transition:transform .3s cubic-bezier(.78,.14,.15,.86);vertical-align:middle;width:100%;z-index:4}.ezplayer-loading-dot{display:inline-block;font-size:25px;height:25px;position:relative;width:25px}.ezplayer-loading-dot-item{background-color:#fff;border-radius:2px;display:block;height:10px;position:absolute;transform-origin:50% 50%;width:10px}.ezplayer-loading-dot-item:first-child{animation:animationShape1 2s linear 0s infinite normal!important;left:0;opacity:1;top:0}.ezplayer-loading-dot-item:nth-child(2){animation:animationShape2 2s linear 0s infinite normal!important;left:15px;opacity:.8;top:0}.ezplayer-loading-dot-item:nth-child(3){animation:animationShape3 2s linear 0s infinite normal!important;left:0;opacity:.5;top:15px}.ezplayer-loading-dot-item:nth-child(4){animation:animationShape4 2s linear 0s infinite normal!important;left:15px;opacity:.3;top:15px}.ezplayer-loading-dot-load{animation:rotation 1s infinite!important}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.ezplayer-load-blur{background:#fff;opacity:.5}}@keyframes ezdSpinMove{to{opacity:1}}@keyframes ezdRotate{to{transform:rotate(405deg)}}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes animationShape1{0%{transform:translate(0)}25%{transform:translateY(15px)}50%{transform:translate(15px,15px)}75%{transform:translate(15px)}to{transform:translate(translate)}}@keyframes animationShape2{0%{transform:translate(0)}25%{transform:translate(-15px)}50%{transform:translate(-15px,15px)}75%{transform:translateY(15px)}}@keyframes animationShape3{0%{transform:translate(0)}25%{transform:translate(15px)}50%{transform:translate(15px,-15px)}75%{transform:translateY(-15px)}}@keyframes animationShape4{0%{transform:translate(0)}25%{transform:translateY(-15px)}50%{transform:translate(-15px,-15px)}75%{transform:translate(-15px)}}.ezplayer-loading-text{margin-top:20px}
|
|
26
26
|
.ezplayer-message{background-color:rgba(0,0,0,.4);bottom:0;color:#fff;display:none;font-size:16px;height:100%;left:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:5}.ezplayer-message-content{align-items:center;display:flex;flex-direction:column;justify-content:center}.ezplayer-message-msg{display:-webkit-box;-webkit-line-clamp:2;margin-top:15px;max-width:500px;overflow:hidden;word-break:break-all;-webkit-box-orient:vertical;padding:0 20px}.ezplayer-message-error{color:#ff4d4f}.ezplayer-toast{background-color:rgba(0,0,0,.8);border-radius:var(--ezplayer-border-radius,8px);box-shadow:0 9px 28px 8px rgba(0,0,0,.05),0 3px 16px 0 rgba(0,0,0,.03),0 3px 7px -4px rgba(0,0,0,.05);color:#fff;display:flex;font-size:14px;left:50%;line-height:22px;max-width:450px;overflow:hidden;padding:9px 16px;position:absolute;top:50px;transform:translateX(-50%);z-index:6}.ezplayer-toast-content{padding-left:24px;position:relative}.ezplayer-toast .ezplayer-icon{font-size:16px;left:0;position:absolute;top:3px}.ezplayer-toast .ezplayer-icon-info-circle{color:var(--ezplayer-default-color,#fff)}.ezplayer-toast .ezplayer-icon-warn-circle{color:#faad14}.ezplayer-toast .ezplayer-icon-close-circle{color:#ff4d4f}.ezplayer-mobile .ezplayer-toast{font-size:12px;line-height:20px}.ezplayer-mobile .ezplayer-toast-content{padding-left:20px}.ezplayer-mobile .ezplayer-toast .ezplayer-icon{font-size:14px}
|
|
27
27
|
.ezplayer-poster{bottom:0;display:none;height:100%;left:0;overflow:hidden;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:2}.ezplayer-poster img{border:0;font-size:0;height:100%;outline:none;pointer-events:none;width:100%}
|
|
28
28
|
.ezplayer-icon-volume{position:relative}.ezplayer-icon-volume svg .ezplayer-icon-volume-high,.ezplayer-icon-volume svg .ezplayer-icon-volume-low,.ezplayer-icon-volume svg .ezplayer-icon-volume-muted{display:none}.ezplayer-icon-volume.ezplayer-icon-volume-high svg .ezplayer-icon-volume-high,.ezplayer-icon-volume.ezplayer-icon-volume-high svg .ezplayer-icon-volume-low,.ezplayer-icon-volume.ezplayer-icon-volume-low svg .ezplayer-icon-volume-low,.ezplayer-icon-volume.ezplayer-icon-volume-muted svg .ezplayer-icon-volume-muted,.ezplayer-icon-volume.ezplayer-icon-volume-zero svg .ezplayer-icon-volume-muted{display:inline}.ezplayer-volume-progress{height:126px}
|
package/dist/style.js
CHANGED
package/dist/types/index.d.ts
CHANGED
|
@@ -1500,7 +1500,7 @@ declare class Theme extends EventEmitter {
|
|
|
1500
1500
|
readonly zoomingChange: "zoomingChange";
|
|
1501
1501
|
readonly zoomTranslateChange: "zoomTranslateChange";
|
|
1502
1502
|
readonly audioInfo: "audioInfo";
|
|
1503
|
-
readonly videoInfo: "videoInfo";
|
|
1503
|
+
readonly videoInfo: "videoInfo";
|
|
1504
1504
|
readonly firstFrameDisplay: "firstFrameDisplay";
|
|
1505
1505
|
readonly fullscreen: "fullscreen";
|
|
1506
1506
|
readonly exitFullscreen: "exitFullscreen";
|
|
@@ -1512,7 +1512,7 @@ declare class Theme extends EventEmitter {
|
|
|
1512
1512
|
readonly recTypeChange: "recTypeChange";
|
|
1513
1513
|
readonly definitionChange: "definitionChange";
|
|
1514
1514
|
readonly speedChange: "speedChange";
|
|
1515
|
-
readonly recordingChange: "recordingChange";
|
|
1515
|
+
readonly recordingChange: "recordingChange"; /** 封面控件 @since 0.0.1 @private */
|
|
1516
1516
|
readonly talkingChange: "talkingChange";
|
|
1517
1517
|
readonly talkVolumeChange: "talkVolumeChange";
|
|
1518
1518
|
readonly broadcastChange: "broadcastChange";
|
|
@@ -1527,7 +1527,10 @@ declare class Theme extends EventEmitter {
|
|
|
1527
1527
|
readonly setVideoLevelList: "setVideoLevelList";
|
|
1528
1528
|
readonly currentVideoLevel: "currentVideoLevel";
|
|
1529
1529
|
readonly currentVideoLevelAuto: "currentVideoLevelAuto";
|
|
1530
|
-
readonly setAllDayRecTimes: "setAllDayRecTimes";
|
|
1530
|
+
readonly setAllDayRecTimes: "setAllDayRecTimes"; /**
|
|
1531
|
+
* 移动端扩展容器, 扩展的控件渲染在指定容器以外, 仅只用端适用, 为了可以放置大的控件和方便开发接入
|
|
1532
|
+
* @private
|
|
1533
|
+
*/
|
|
1531
1534
|
readonly getOSDTime: "getOSDTime";
|
|
1532
1535
|
readonly playbackEnd: "playbackEnd";
|
|
1533
1536
|
readonly control: {
|
|
@@ -1536,12 +1539,12 @@ declare class Theme extends EventEmitter {
|
|
|
1536
1539
|
readonly capturePicture: "Control.capturePicture";
|
|
1537
1540
|
readonly capturePictureResult: "Control.capturePictureResult";
|
|
1538
1541
|
readonly capturePictureDestroy: "Control.capturePictureDestroy";
|
|
1539
|
-
readonly volumechange: "Control.volumechange";
|
|
1542
|
+
readonly volumechange: "Control.volumechange";
|
|
1540
1543
|
readonly volumePanelOpenChange: "Control.volumePanelOpenChange";
|
|
1541
1544
|
readonly volumeDestroy: "Control.volumeDestroy";
|
|
1542
1545
|
readonly controlsBarOpenChange: "Control.controlsBarOpenChange";
|
|
1543
1546
|
readonly headerMoreShowControlsChange: "Control.headerMoreShowControlsChange";
|
|
1544
|
-
readonly headerMorePanelOpenChange: "Control.headerMorePanelOpenChange"; /**
|
|
1547
|
+
readonly headerMorePanelOpenChange: "Control.headerMorePanelOpenChange"; /** 电子放大倍数 @private */
|
|
1545
1548
|
readonly footerMoreShowControlsChange: "Control.footerMoreShowControlsChange";
|
|
1546
1549
|
readonly footerMorePanelOpenChange: "Control.footerMorePanelOpenChange";
|
|
1547
1550
|
readonly deviceDestroy: "Control.deviceDestroy";
|
|
@@ -1749,7 +1752,7 @@ declare class Theme extends EventEmitter {
|
|
|
1749
1752
|
DEVICE_ENCRYPTED: string;
|
|
1750
1753
|
NO_RECORD: string;
|
|
1751
1754
|
PLAY_FAILED: string;
|
|
1752
|
-
PLAY_SUCCESS: string;
|
|
1755
|
+
PLAY_SUCCESS: string; /** 语言包 @since 0.0.1 */
|
|
1753
1756
|
STOP_SUCCESS: string;
|
|
1754
1757
|
CHANGE_PLAYURL_SUCCESS: string;
|
|
1755
1758
|
CHANGE_PLAYURL_FAILED: string;
|
|
@@ -1760,17 +1763,18 @@ declare class Theme extends EventEmitter {
|
|
|
1760
1763
|
SPEED: string;
|
|
1761
1764
|
SPEED_RATE: string;
|
|
1762
1765
|
SPEED_CANCEL: string;
|
|
1763
|
-
GET_SPEED: string;
|
|
1766
|
+
GET_SPEED: string;
|
|
1764
1767
|
MAX_SPEED_LIMIT: string;
|
|
1765
1768
|
MIN_SPEED_LIMIT: string;
|
|
1766
1769
|
SEEK_CANNOT_CROSS_DAYS: string;
|
|
1770
|
+
/** 所有控件列表, 所有控件名称规则(`${iconId}Control`), 如音量控件 this.controls["volumeControl"] @since 0.0.1 */
|
|
1767
1771
|
SEEK_TIMEFORMAT_ERROR: string;
|
|
1768
1772
|
PAUSE: string;
|
|
1769
1773
|
PAUSE_FAILED: string;
|
|
1770
1774
|
RESUME: string;
|
|
1771
1775
|
RESUME_FAILED: string;
|
|
1772
1776
|
CALL_END: string;
|
|
1773
|
-
USER_DO_NOT_OWN_DEVICE: string; /**
|
|
1777
|
+
USER_DO_NOT_OWN_DEVICE: string; /** 加载控件 @since 0.0.1 @private */
|
|
1774
1778
|
NO_CLOUD_RECORD: string;
|
|
1775
1779
|
CHANGE_VIDEO_LEVEL: string;
|
|
1776
1780
|
CHANGE_VIDEO_LEVEL_FAIL: string;
|
|
@@ -1786,6 +1790,11 @@ declare class Theme extends EventEmitter {
|
|
|
1786
1790
|
VIDEO_LEVEL_3K: string;
|
|
1787
1791
|
VIDEO_LEVEL_4k: string;
|
|
1788
1792
|
RESET_THEME: string;
|
|
1793
|
+
/**
|
|
1794
|
+
* 更多控件(header more)
|
|
1795
|
+
* @since 0.0.1
|
|
1796
|
+
* @private
|
|
1797
|
+
*/
|
|
1789
1798
|
BTN_PLAY: string;
|
|
1790
1799
|
BTN_PAUSE: string;
|
|
1791
1800
|
BTN_VOLUME: string;
|
|
@@ -1798,7 +1807,7 @@ declare class Theme extends EventEmitter {
|
|
|
1798
1807
|
BTN_LIVE: string;
|
|
1799
1808
|
BTN_REC_DROPDOWN: string;
|
|
1800
1809
|
BTN_ALARM_MESSAGE: string;
|
|
1801
|
-
REC_DROPDOWN_CLOUD_REC: string;
|
|
1810
|
+
REC_DROPDOWN_CLOUD_REC: string; /** 低部控件 @since 0.0.1 @private */
|
|
1802
1811
|
REC_DROPDOWN_CLOUD_RECORD: string;
|
|
1803
1812
|
REC_DROPDOWN_LOCAL_REC: string;
|
|
1804
1813
|
BTN_ZOOM: string;
|
|
@@ -1815,7 +1824,7 @@ declare class Theme extends EventEmitter {
|
|
|
1815
1824
|
BTN_REC: string;
|
|
1816
1825
|
BTN_CALENDAR: string;
|
|
1817
1826
|
BTN_TIME: string;
|
|
1818
|
-
BTN_MORE: string;
|
|
1827
|
+
BTN_MORE: string;
|
|
1819
1828
|
DEVICE_NAME: string;
|
|
1820
1829
|
DEVICE_ID: string;
|
|
1821
1830
|
CAPTURE_SUCCESS: string;
|
|
@@ -1827,7 +1836,7 @@ declare class Theme extends EventEmitter {
|
|
|
1827
1836
|
RECORD_TIPS: string;
|
|
1828
1837
|
RECORDS: string;
|
|
1829
1838
|
OPEN_SOUND: string;
|
|
1830
|
-
CLOSE_SOUND: string; /**
|
|
1839
|
+
CLOSE_SOUND: string; /** 容器的宽 */
|
|
1831
1840
|
SOUND_OPENED: string;
|
|
1832
1841
|
ZOOM: string;
|
|
1833
1842
|
START_ZOOM: string;
|
|
@@ -1854,25 +1863,38 @@ declare class Theme extends EventEmitter {
|
|
|
1854
1863
|
GET_WEB_FULLSCREEN_STATUS: string;
|
|
1855
1864
|
WEB_FULLSCREEN: string;
|
|
1856
1865
|
WEB_FULLSCREEN_EXIT: string;
|
|
1857
|
-
DESTROY: string;
|
|
1866
|
+
DESTROY: string;
|
|
1858
1867
|
GET_CAPACITY: string;
|
|
1859
1868
|
GET_PTZ_STATUS: string;
|
|
1860
1869
|
GET_PTZ_STATUS_FAILED: string;
|
|
1861
|
-
/**
|
|
1862
|
-
* 录像回放的月份列表 @private
|
|
1863
|
-
*/
|
|
1864
1870
|
MOBILE_HIDE_PTZ: string;
|
|
1865
1871
|
OPTION_PTZ_FAILED: string;
|
|
1866
1872
|
MOBILE_PTZ_TIPS: string;
|
|
1867
1873
|
PTZ_FAST: string;
|
|
1868
1874
|
PTZ_MID: string;
|
|
1869
1875
|
PTZ_SLOW: string;
|
|
1870
|
-
PTZ_SPEED: string;
|
|
1876
|
+
PTZ_SPEED: string; /**
|
|
1877
|
+
// * 记录回放的月份
|
|
1878
|
+
// *
|
|
1879
|
+
// * key: {序列号}_{通道号}_{rec | cloud | cloudRecord} 比如:BC7799091_1_rec BC7799091_1_cloud BC7799091_1_cloudRecord
|
|
1880
|
+
// *
|
|
1881
|
+
// * value: 月份列表 比如 ["2025-12-01", "2025-12-02"]
|
|
1882
|
+
// * @private
|
|
1883
|
+
// */
|
|
1884
|
+
/**
|
|
1885
|
+
* 录像回放的月份列表 @private
|
|
1886
|
+
*/
|
|
1871
1887
|
DEVICE_ZOOM: string;
|
|
1888
|
+
/**
|
|
1889
|
+
* 录像回放的月份列表 @private
|
|
1890
|
+
*/
|
|
1872
1891
|
DEVICE_FOCUS: string;
|
|
1873
1892
|
NOT_SUPPORT_DEVICE_ZOOM: string;
|
|
1874
1893
|
NOT_SUPPORT_FOCUS: string;
|
|
1875
1894
|
MIRROR: string;
|
|
1895
|
+
/**
|
|
1896
|
+
* 录像回放的月份列表 @private
|
|
1897
|
+
*/
|
|
1876
1898
|
MIRROR_TYPE_ERROR: string;
|
|
1877
1899
|
CHANGE_FEC_TYPE: string;
|
|
1878
1900
|
DEVICE_NOT_SUPPORT: string;
|
|
@@ -1926,6 +1948,40 @@ declare class Theme extends EventEmitter {
|
|
|
1926
1948
|
395506: string;
|
|
1927
1949
|
395507: string;
|
|
1928
1950
|
395530: string;
|
|
1951
|
+
/**
|
|
1952
|
+
* 播放器主题
|
|
1953
|
+
* @class Theme
|
|
1954
|
+
* @category Theme
|
|
1955
|
+
* @remarks
|
|
1956
|
+
* 萤石播放器主题,主要用于播放器的 UI 展示和交互,支持 flv, hls, mp4, ezopen 等流类型。
|
|
1957
|
+
* 提供了丰富的控件和配置选项,支持多语言和自定义样式。
|
|
1958
|
+
*
|
|
1959
|
+
* @example
|
|
1960
|
+
* ```ts
|
|
1961
|
+
* // import css file
|
|
1962
|
+
* import "@ezuikit/player-theme/dist/style.js"
|
|
1963
|
+
* import Theme from '@ezuikit/player-theme';
|
|
1964
|
+
*
|
|
1965
|
+
* // class Player extends Theme {}
|
|
1966
|
+
*
|
|
1967
|
+
* const theme = new Theme({
|
|
1968
|
+
* container: () => document.querySelector('.player'),
|
|
1969
|
+
* type: 'flv',
|
|
1970
|
+
* });
|
|
1971
|
+
* ```
|
|
1972
|
+
*
|
|
1973
|
+
* ```html
|
|
1974
|
+
* <!-- html script, static in `@ezuikit/player-theme/dist` -->
|
|
1975
|
+
* <link rel="stylesheet" href="./assets/@ezuikit/player-theme/dist/style.css" />
|
|
1976
|
+
* <script src="./assets/@ezuikit/player-theme/dist/index.umd.js"></script>
|
|
1977
|
+
* <script>
|
|
1978
|
+
* const theme = new Theme({
|
|
1979
|
+
* container: () => document.querySelector('.player'),
|
|
1980
|
+
* type: 'flv',
|
|
1981
|
+
* });
|
|
1982
|
+
* </script>
|
|
1983
|
+
* ```
|
|
1984
|
+
*/
|
|
1929
1985
|
395544: string;
|
|
1930
1986
|
395545: string;
|
|
1931
1987
|
395546: string;
|
|
@@ -1936,14 +1992,14 @@ declare class Theme extends EventEmitter {
|
|
|
1936
1992
|
395560: string;
|
|
1937
1993
|
395561: string;
|
|
1938
1994
|
395562: string;
|
|
1939
|
-
395563: string;
|
|
1995
|
+
395563: string;
|
|
1940
1996
|
395564: string;
|
|
1941
1997
|
395566: string;
|
|
1942
1998
|
395567: string;
|
|
1943
1999
|
395568: string;
|
|
1944
2000
|
395569: string;
|
|
1945
2001
|
395600: string;
|
|
1946
|
-
395601: string;
|
|
2002
|
+
395601: string;
|
|
1947
2003
|
395602: string;
|
|
1948
2004
|
395610: string;
|
|
1949
2005
|
395620: string;
|
|
@@ -1963,7 +2019,7 @@ declare class Theme extends EventEmitter {
|
|
|
1963
2019
|
396109: string;
|
|
1964
2020
|
396110: string;
|
|
1965
2021
|
396501: string;
|
|
1966
|
-
396502: string;
|
|
2022
|
+
396502: string;
|
|
1967
2023
|
396503: string;
|
|
1968
2024
|
396504: string;
|
|
1969
2025
|
396505: string;
|
|
@@ -1976,12 +2032,15 @@ declare class Theme extends EventEmitter {
|
|
|
1976
2032
|
396513: string;
|
|
1977
2033
|
396514: string;
|
|
1978
2034
|
396515: string;
|
|
1979
|
-
396516: string;
|
|
2035
|
+
396516: string;
|
|
1980
2036
|
396517: string;
|
|
1981
2037
|
396518: string;
|
|
1982
2038
|
396519: string;
|
|
1983
2039
|
396520: string;
|
|
1984
2040
|
396700: string;
|
|
2041
|
+
/**
|
|
2042
|
+
* 录像回放的月份列表 @private
|
|
2043
|
+
*/
|
|
1985
2044
|
396701: string;
|
|
1986
2045
|
397001: string;
|
|
1987
2046
|
397002: string;
|
|
@@ -2048,9 +2107,7 @@ declare class Theme extends EventEmitter {
|
|
|
2048
2107
|
SEEK_TIMEFORMAT_ERROR: string;
|
|
2049
2108
|
PAUSE: string;
|
|
2050
2109
|
PAUSE_FAILED: string;
|
|
2051
|
-
RESUME: string;
|
|
2052
|
-
* url 信息 播放地址信息
|
|
2053
|
-
*/
|
|
2110
|
+
RESUME: string;
|
|
2054
2111
|
RESUME_FAILED: string;
|
|
2055
2112
|
CALL_END: string;
|
|
2056
2113
|
USER_DO_NOT_OWN_DEVICE: string;
|
|
@@ -2066,28 +2123,23 @@ declare class Theme extends EventEmitter {
|
|
|
2066
2123
|
VIDEO_LEVEL_HEIGH: string;
|
|
2067
2124
|
VIDEO_LEVEL_SUPER: string;
|
|
2068
2125
|
VIDEO_LEVEL_EXTREME: string;
|
|
2126
|
+
/**
|
|
2127
|
+
* 视频信息
|
|
2128
|
+
* @version 3.1.2
|
|
2129
|
+
* ```ts
|
|
2130
|
+
* theme.videoInfo // ThemeVideoInfo
|
|
2131
|
+
* ```
|
|
2132
|
+
*/
|
|
2069
2133
|
VIDEO_LEVEL_3K: string;
|
|
2070
2134
|
VIDEO_LEVEL_4k: string;
|
|
2071
2135
|
RESET_THEME: string;
|
|
2072
2136
|
BTN_PLAY: string;
|
|
2073
2137
|
BTN_PAUSE: string;
|
|
2074
|
-
BTN_VOLUME: string;
|
|
2075
|
-
* 当前播放状态
|
|
2076
|
-
* ```ts
|
|
2077
|
-
* theme.playing // boolean
|
|
2078
|
-
* ```
|
|
2079
|
-
*/
|
|
2138
|
+
BTN_VOLUME: string;
|
|
2080
2139
|
BTN_MUTED: string;
|
|
2081
2140
|
BTN_RECORDVIDEO: string;
|
|
2082
2141
|
BTN_CAPTURE: string;
|
|
2083
2142
|
BTN_TALK: string;
|
|
2084
|
-
/**
|
|
2085
|
-
* 播放状态
|
|
2086
|
-
* ```ts
|
|
2087
|
-
* // 事件监听
|
|
2088
|
-
* theme.on(Theme.EVENTS.play, (playing: boolean) => {})
|
|
2089
|
-
* ```
|
|
2090
|
-
*/
|
|
2091
2143
|
BTN_BROADCAST: string;
|
|
2092
2144
|
BTN_AICHAT: string;
|
|
2093
2145
|
BTN_LIVE: string;
|
|
@@ -2152,7 +2204,14 @@ declare class Theme extends EventEmitter {
|
|
|
2152
2204
|
WEB_FULLSCREEN: string;
|
|
2153
2205
|
WEB_FULLSCREEN_EXIT: string;
|
|
2154
2206
|
DESTROY: string;
|
|
2155
|
-
GET_CAPACITY: string;
|
|
2207
|
+
GET_CAPACITY: string; /**
|
|
2208
|
+
* 静音
|
|
2209
|
+
* @example
|
|
2210
|
+
* ```ts
|
|
2211
|
+
* // 事件监听
|
|
2212
|
+
* theme.on(Theme.EVENTS.volumechange, (volume: number, muted: boolean) => {})
|
|
2213
|
+
* ```
|
|
2214
|
+
*/
|
|
2156
2215
|
GET_PTZ_STATUS: string;
|
|
2157
2216
|
GET_PTZ_STATUS_FAILED: string;
|
|
2158
2217
|
MOBILE_HIDE_PTZ: string;
|
|
@@ -2688,6 +2747,9 @@ declare class Theme extends EventEmitter {
|
|
|
2688
2747
|
* 窗口全屏后旋转 90度判断, 然后设置控件已经旋转 90度, 为了解决控件交互问题
|
|
2689
2748
|
*/
|
|
2690
2749
|
private _isRotated;
|
|
2750
|
+
/**
|
|
2751
|
+
* 私有流地址
|
|
2752
|
+
*/
|
|
2691
2753
|
get isEzopen(): boolean;
|
|
2692
2754
|
/**
|
|
2693
2755
|
* 判断播放地址是萤石的播放地址
|