ezuikit-js 0.6.5 → 0.7.0
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/ezuikit.js +88 -66
- package/package.json +1 -1
package/ezuikit.js
CHANGED
|
@@ -275,57 +275,6 @@ var request = function request(url, method, params, header, success, error) {
|
|
|
275
275
|
}
|
|
276
276
|
http_request.send(data);
|
|
277
277
|
};
|
|
278
|
-
// 增加防抖函数
|
|
279
|
-
var debouncePromise = function debouncePromise(fn, delay) {
|
|
280
|
-
var immdiate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
281
|
-
var timer = null;
|
|
282
|
-
var isInvoke = false;
|
|
283
|
-
return function _debounce() {
|
|
284
|
-
var _this = this;
|
|
285
|
-
for (var _len = arguments.length, arg = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
286
|
-
arg[_key] = arguments[_key];
|
|
287
|
-
}
|
|
288
|
-
return new Promise(function (resolve, reject) {
|
|
289
|
-
if (timer) {
|
|
290
|
-
console.log("防抖, delay 后执行", timer, delay, fn);
|
|
291
|
-
clearTimeout(timer);
|
|
292
|
-
}
|
|
293
|
-
// 双击执行2次
|
|
294
|
-
if (immdiate && !isInvoke) {
|
|
295
|
-
console.log("防抖 第一次执行...", isInvoke, fn);
|
|
296
|
-
isInvoke = true;
|
|
297
|
-
fn.apply(_this, arg).then(function () {
|
|
298
|
-
resolve();
|
|
299
|
-
})["catch"](function (err) {
|
|
300
|
-
console.log("防抖,err", err);
|
|
301
|
-
reject();
|
|
302
|
-
});
|
|
303
|
-
setTimeout(function () {
|
|
304
|
-
isInvoke = false;
|
|
305
|
-
}, delay);
|
|
306
|
-
} else {
|
|
307
|
-
if (isInvoke) {
|
|
308
|
-
console.log("操作过于频繁,仅支持" + delay + "ms时间内切换一次");
|
|
309
|
-
reject({
|
|
310
|
-
code: -1,
|
|
311
|
-
msg: "操作过于频繁,仅支持" + delay + "ms时间内切换一次"
|
|
312
|
-
});
|
|
313
|
-
return false;
|
|
314
|
-
}
|
|
315
|
-
timer = setTimeout(function () {
|
|
316
|
-
console.log("防抖 执行...", fn);
|
|
317
|
-
fn.apply(_this, arg).then(function () {
|
|
318
|
-
resolve();
|
|
319
|
-
})["catch"](function (err) {
|
|
320
|
-
console.log("防抖,err", err);
|
|
321
|
-
reject();
|
|
322
|
-
});
|
|
323
|
-
isInvoke = false;
|
|
324
|
-
}, delay);
|
|
325
|
-
}
|
|
326
|
-
});
|
|
327
|
-
};
|
|
328
|
-
};
|
|
329
278
|
|
|
330
279
|
var HLS = /*#__PURE__*/function () {
|
|
331
280
|
function HLS(videoId, url) {
|
|
@@ -31141,6 +31090,62 @@ var Monitor = /*#__PURE__*/function () {
|
|
|
31141
31090
|
});
|
|
31142
31091
|
var EZUIKitV3$1 = EZUIKitV3;
|
|
31143
31092
|
|
|
31093
|
+
/* global setTimeout, clearTimeout */
|
|
31094
|
+
var dist = function debounce(fn) {
|
|
31095
|
+
var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
31096
|
+
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
31097
|
+
var lastCallAt = void 0;
|
|
31098
|
+
var deferred = void 0;
|
|
31099
|
+
var timer = void 0;
|
|
31100
|
+
var pendingArgs = [];
|
|
31101
|
+
return function debounced() {
|
|
31102
|
+
var currentWait = getWait(wait);
|
|
31103
|
+
var currentTime = new Date().getTime();
|
|
31104
|
+
var isCold = !lastCallAt || currentTime - lastCallAt > currentWait;
|
|
31105
|
+
lastCallAt = currentTime;
|
|
31106
|
+
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
|
|
31107
|
+
args[_key] = arguments[_key];
|
|
31108
|
+
}
|
|
31109
|
+
if (isCold && options.leading) {
|
|
31110
|
+
return options.accumulate ? Promise.resolve(fn.call(this, [args])).then(function (result) {
|
|
31111
|
+
return result[0];
|
|
31112
|
+
}) : Promise.resolve(fn.call.apply(fn, [this].concat(args)));
|
|
31113
|
+
}
|
|
31114
|
+
if (deferred) {
|
|
31115
|
+
clearTimeout(timer);
|
|
31116
|
+
} else {
|
|
31117
|
+
deferred = defer();
|
|
31118
|
+
}
|
|
31119
|
+
pendingArgs.push(args);
|
|
31120
|
+
timer = setTimeout(flush.bind(this), currentWait);
|
|
31121
|
+
if (options.accumulate) {
|
|
31122
|
+
var argsIndex = pendingArgs.length - 1;
|
|
31123
|
+
return deferred.promise.then(function (results) {
|
|
31124
|
+
return results[argsIndex];
|
|
31125
|
+
});
|
|
31126
|
+
}
|
|
31127
|
+
return deferred.promise;
|
|
31128
|
+
};
|
|
31129
|
+
function flush() {
|
|
31130
|
+
var thisDeferred = deferred;
|
|
31131
|
+
clearTimeout(timer);
|
|
31132
|
+
Promise.resolve(options.accumulate ? fn.call(this, pendingArgs) : fn.apply(this, pendingArgs[pendingArgs.length - 1])).then(thisDeferred.resolve, thisDeferred.reject);
|
|
31133
|
+
pendingArgs = [];
|
|
31134
|
+
deferred = null;
|
|
31135
|
+
}
|
|
31136
|
+
};
|
|
31137
|
+
function getWait(wait) {
|
|
31138
|
+
return typeof wait === 'function' ? wait() : wait;
|
|
31139
|
+
}
|
|
31140
|
+
function defer() {
|
|
31141
|
+
var deferred = {};
|
|
31142
|
+
deferred.promise = new Promise(function (resolve, reject) {
|
|
31143
|
+
deferred.resolve = resolve;
|
|
31144
|
+
deferred.reject = reject;
|
|
31145
|
+
});
|
|
31146
|
+
return deferred;
|
|
31147
|
+
}
|
|
31148
|
+
|
|
31144
31149
|
/**
|
|
31145
31150
|
* Created by wangweijie5 on 2016/12/16.
|
|
31146
31151
|
*/
|
|
@@ -31737,6 +31742,9 @@ var EZUIKitPlayer = /*#__PURE__*/function () {
|
|
|
31737
31742
|
function EZUIKitPlayer(params) {
|
|
31738
31743
|
var _this = this;
|
|
31739
31744
|
_classCallCheck$1(this, EZUIKitPlayer);
|
|
31745
|
+
// 解决当ws连接建立但是没有推流导致未触发播放成功事件,
|
|
31746
|
+
// 此时切换设备执行 播放器 stop 时触发了播放成功事件导致设备序列号重置
|
|
31747
|
+
this.isStoping = false; // 是否在播放前 stop 执行过程中
|
|
31740
31748
|
var _params$autoplay = params.autoplay,
|
|
31741
31749
|
autoplay = _params$autoplay === void 0 ? true : _params$autoplay;
|
|
31742
31750
|
// 如果设置了模板(除精简版),此处不自动播放,根据模板判断是否执行自动播放:
|
|
@@ -31967,14 +31975,15 @@ var EZUIKitPlayer = /*#__PURE__*/function () {
|
|
|
31967
31975
|
return new EZUIKitV3$1.EZUIKitPlayer(params);
|
|
31968
31976
|
}
|
|
31969
31977
|
// this.stop = debouncePromise(()=>this._stop(),0,true);
|
|
31970
|
-
this.play =
|
|
31978
|
+
this.play = dist(function (options) {
|
|
31971
31979
|
return _this._play(options);
|
|
31972
|
-
},
|
|
31973
|
-
|
|
31974
|
-
this.resume = debouncePromise(function (time) {
|
|
31980
|
+
}, 500, true);
|
|
31981
|
+
this.resume = dist(function (time) {
|
|
31975
31982
|
return _this._resume(time);
|
|
31976
|
-
},
|
|
31977
|
-
|
|
31983
|
+
}, 500, true);
|
|
31984
|
+
this.changePlayUrl = dist(function (options) {
|
|
31985
|
+
return _this._changePlayUrl(options);
|
|
31986
|
+
}, 500);
|
|
31978
31987
|
// 监听到页面退出
|
|
31979
31988
|
// 研究院反馈,播放过程中退出页面需要执行停止视频,否则可能导致浏览器崩溃
|
|
31980
31989
|
window.addEventListener("beforeunload", function () {
|
|
@@ -32211,6 +32220,7 @@ var EZUIKitPlayer = /*#__PURE__*/function () {
|
|
|
32211
32220
|
key: "_getRealUrlPromise",
|
|
32212
32221
|
value: function _getRealUrlPromise(accessToken, url) {
|
|
32213
32222
|
var _this3 = this;
|
|
32223
|
+
console.log("\u83B7\u53D6\u64AD\u653E\u5730\u5740 url => ".concat(url, " ").concat(this.accessToken));
|
|
32214
32224
|
var apiDomain = this.env.domain;
|
|
32215
32225
|
if (this.env) {
|
|
32216
32226
|
apiDomain = this.env.domain;
|
|
@@ -32520,7 +32530,7 @@ var EZUIKitPlayer = /*#__PURE__*/function () {
|
|
|
32520
32530
|
key: "_pluginPlay",
|
|
32521
32531
|
value: function _pluginPlay(data, successCallback, errorCallback) {
|
|
32522
32532
|
var _this4 = this;
|
|
32523
|
-
console.log("
|
|
32533
|
+
console.log("执行播放 _pluginPlay", data);
|
|
32524
32534
|
if (!data) {
|
|
32525
32535
|
return false;
|
|
32526
32536
|
}
|
|
@@ -32543,8 +32553,17 @@ var EZUIKitPlayer = /*#__PURE__*/function () {
|
|
|
32543
32553
|
var wsParams = {
|
|
32544
32554
|
playURL: getPlayParams(data).websocketStreamingParam
|
|
32545
32555
|
};
|
|
32556
|
+
console.log('播放前 stop 阶段 结束');
|
|
32557
|
+
this.isStoping = false;
|
|
32558
|
+
var now = Date.now();
|
|
32559
|
+
console.log('执行播放 ... this.jSPlugin.JS_Play at ', now);
|
|
32546
32560
|
this.jSPlugin.JS_Play(wsUrl, wsParams, 0).then(function () {
|
|
32547
|
-
console.log("播放成功");
|
|
32561
|
+
console.log("执行播放 ... this.jSPlugin.JS_Play 播放成功", wsUrl, wsParams);
|
|
32562
|
+
console.log("执行播放耗时 ", Date.now() - now);
|
|
32563
|
+
if (_this4.isStoping) {
|
|
32564
|
+
console.log('现在在播放前 stop 阶段,此次应为无效播放成功触发。不执行后续回调, 此次耗时无效');
|
|
32565
|
+
return;
|
|
32566
|
+
}
|
|
32548
32567
|
if (_this4.validateCode && typeof _this4.jSPlugin.decoderVersion !== 'undefined' && _this4.jSPlugin.decoderVersion === '2.0') {
|
|
32549
32568
|
_this4.jSPlugin.JS_SetSecretKey(0, _this4.validateCode);
|
|
32550
32569
|
}
|
|
@@ -32646,6 +32665,7 @@ var EZUIKitPlayer = /*#__PURE__*/function () {
|
|
|
32646
32665
|
key: "_play",
|
|
32647
32666
|
value: function _play(options) {
|
|
32648
32667
|
var _this5 = this;
|
|
32668
|
+
console.log("\u6267\u884C\u64AD\u653E play options.url =>", options);
|
|
32649
32669
|
this.pluginStatus.setPlayStatus({
|
|
32650
32670
|
play: false,
|
|
32651
32671
|
loading: true
|
|
@@ -32672,8 +32692,10 @@ var EZUIKitPlayer = /*#__PURE__*/function () {
|
|
|
32672
32692
|
}
|
|
32673
32693
|
}
|
|
32674
32694
|
var promise = new Promise(function (resolve, reject) {
|
|
32695
|
+
console.log('执行 播放前 stop');
|
|
32696
|
+
_this5.isStoping = true;
|
|
32675
32697
|
_this5.jSPlugin.JS_Stop(0).then(function () {
|
|
32676
|
-
console.log("
|
|
32698
|
+
console.log("\u64AD\u653E\u524D stop \u6267\u884C\u6210\u529F this.url => ".concat(_this5.url, " ").concat(_this5.accessToken));
|
|
32677
32699
|
_this5._getRealUrlPromise(_this5.accessToken, _this5.url).then(function (data) {
|
|
32678
32700
|
_this5._pluginPlay(data, function () {
|
|
32679
32701
|
return resolve(true);
|
|
@@ -32787,27 +32809,27 @@ var EZUIKitPlayer = /*#__PURE__*/function () {
|
|
|
32787
32809
|
}
|
|
32788
32810
|
}
|
|
32789
32811
|
}, {
|
|
32790
|
-
key: "
|
|
32791
|
-
value: function
|
|
32812
|
+
key: "_changePlayUrl",
|
|
32813
|
+
value: function _changePlayUrl(options) {
|
|
32792
32814
|
var _this8 = this;
|
|
32815
|
+
console.log('_changePlayUrl');
|
|
32793
32816
|
this.reSetTheme();
|
|
32794
32817
|
var initUrl = this.url;
|
|
32795
32818
|
var url = matchUrl(initUrl, options);
|
|
32796
32819
|
if (options.accessToken) {
|
|
32797
32820
|
this.accessToken = options.accessToken;
|
|
32798
32821
|
}
|
|
32822
|
+
this.url = url;
|
|
32799
32823
|
var promise = new Promise(function (resolve, reject) {
|
|
32800
|
-
console.log("changePlayUrl stop success");
|
|
32801
32824
|
var changePlayUrlParams = {
|
|
32802
32825
|
url: url
|
|
32803
32826
|
};
|
|
32804
32827
|
if (options.accessToken) {
|
|
32805
32828
|
changePlayUrlParams["accessToken"] = options.accessToken;
|
|
32806
32829
|
}
|
|
32807
|
-
console.log("
|
|
32830
|
+
console.log("切换播放地址 参数 ", changePlayUrlParams);
|
|
32808
32831
|
return _this8.play(changePlayUrlParams).then(function () {
|
|
32809
|
-
console.log("
|
|
32810
|
-
_this8.url = url;
|
|
32832
|
+
console.log("切换播放地址 play 执行成功 ", _this8.url, _this8.accessToken);
|
|
32811
32833
|
// 当前处于网页全屏状态
|
|
32812
32834
|
if (_this8.Theme && _this8.Theme.decoderState.state.webExpend) {
|
|
32813
32835
|
_this8.Theme.webExpend();
|