separate variable constants

This commit is contained in:
Harvey committed 2022-04-27 10:42:07 +08:00
1 parent 57a14f63ac
commit fc3abd7d1d
20 files changed
+143 -80

No files matched your search

+75 -42
View File
@@ -2264,16 +2264,16 @@
} }
function eventInit(art) { function eventInit(art) {
var option = art.option, var i18n = art.i18n,
notice = art.notice,
option = art.option,
constructor = art.constructor,
proxy = art.events.proxy, proxy = art.events.proxy,
_art$template = art.template, _art$template = art.template,
$player = _art$template.$player, $player = _art$template.$player,
$video = _art$template.$video, $video = _art$template.$video,
$poster = _art$template.$poster, $poster = _art$template.$poster;
i18n = art.i18n,
notice = art.notice;
var reconnectTime = 0; var reconnectTime = 0;
var maxReconnectTime = 5;
for (var index = 0; index < config$1.events.length; index++) { for (var index = 0; index < config$1.events.length; index++) {
proxy($video, config$1.events[index], function (event) { proxy($video, config$1.events[index], function (event) {
@@ -2312,8 +2312,8 @@
} }
}); });
art.on('video:error', function () { art.on('video:error', function () {
if (reconnectTime < maxReconnectTime) { if (reconnectTime < constructor.RECONNECT_TIME_MAX) {
sleep(1000).then(function () { sleep(constructor.RECONNECT_SLEEP_TIME).then(function () {
reconnectTime += 1; reconnectTime += 1;
art.url = option.url; art.url = option.url;
notice.show = "".concat(i18n.get('Reconnect'), ": ").concat(reconnectTime); notice.show = "".concat(i18n.get('Reconnect'), ": ").concat(reconnectTime);
@@ -2323,7 +2323,7 @@
art.loading.show = false; art.loading.show = false;
art.controls.show = false; art.controls.show = false;
addClass($player, 'art-error'); addClass($player, 'art-error');
sleep(1000).then(function () { sleep(constructor.RECONNECT_SLEEP_TIME).then(function () {
notice.show = i18n.get('Video Load Failed'); notice.show = i18n.get('Video Load Failed');
art.destroy(false); art.destroy(false);
}); });
@@ -2758,6 +2758,7 @@
if (isMobile && !art.option.isLive) { if (isMobile && !art.option.isLive) {
var notice = art.notice, var notice = art.notice,
plugins = art.plugins, plugins = art.plugins,
_constructor = art.constructor,
$video = art.template.$video; $video = art.template.$video;
var isDroging = false; var isDroging = false;
var startX = 0; var startX = 0;
@@ -2774,8 +2775,8 @@
startY = clientY; startY = clientY;
clearTimeout(pressTimer); clearTimeout(pressTimer);
pressTimer = setTimeout(function () { pressTimer = setTimeout(function () {
art.playbackRate = 3; art.playbackRate = _constructor.MOBILE_AUTO_PLAYBACKRATE;
}, 1000); }, _constructor.MOBILE_AUTO_PLAYBACKRATE_TIME);
} }
}); });
events.proxy($video, 'touchmove', function (event) { events.proxy($video, 'touchmove', function (event) {
@@ -2855,10 +2856,10 @@
var $indicator = query('.art-progress-indicator', $control); var $indicator = query('.art-progress-indicator', $control);
var $tip = query('.art-progress-tip', $control); var $tip = query('.art-progress-tip', $control);
setStyle($played, 'backgroundColor', 'var(--theme)'); setStyle($played, 'backgroundColor', 'var(--theme)');
var indicatorSize = 14; var indicatorSize = art.constructor.INDICATOR_SIZE;
if (icons.indicator) { if (icons.indicator) {
indicatorSize = 16; indicatorSize = art.constructor.INDICATOR_SIZE_ICON;
append($indicator, icons.indicator); append($indicator, icons.indicator);
} else { } else {
setStyles($indicator, { setStyles($indicator, {
@@ -2867,7 +2868,11 @@
} }
if (isMobile) { if (isMobile) {
indicatorSize = 20; indicatorSize = art.constructor.INDICATOR_SIZE_MOBILE;
if (icons.indicator) {
indicatorSize = art.constructor.INDICATOR_SIZE_MOBILE_ICON;
}
} }
setStyles($indicator, { setStyles($indicator, {
@@ -3044,10 +3049,8 @@
icons = art.icons, icons = art.icons,
i18n = art.i18n; i18n = art.i18n;
var isDroging = false; var isDroging = false;
var panelWidth = 60; // 音量条宽度 var panelWidth = art.constructor.VOLUME_PANEL_WIDTH;
var handleWidth = art.constructor.VOLUME_HANDLE_WIDTH;
var handleWidth = 12; // 音量把手宽度
var $volume = append($control, icons.volume); var $volume = append($control, icons.volume);
var $volumeClose = append($control, icons.volumeClose); var $volumeClose = append($control, icons.volumeClose);
var $volumePanel = append($control, '<div class="art-volume-panel"></div>'); var $volumePanel = append($control, '<div class="art-volume-panel"></div>');
@@ -3286,16 +3289,18 @@
_this = _super.call(this, art); _this = _super.call(this, art);
_this.name = 'control'; _this.name = 'control';
var option = art.option, var option = art.option,
constructor = art.constructor,
proxy = art.events.proxy,
$player = art.template.$player; $player = art.template.$player;
_this.mouseMoveTime = Date.now(); var activeTime = Date.now();
art.on('mousemove', function () { proxy($player, ['click', 'mousemove', 'touchstart', 'touchmove'], function () {
_this.show = true; _this.show = true;
removeClass($player, 'art-hide-cursor'); removeClass($player, 'art-hide-cursor');
addClass($player, 'art-hover'); addClass($player, 'art-hover');
_this.mouseMoveTime = Date.now(); activeTime = Date.now();
}); });
art.on('video:timeupdate', function () { art.on('video:timeupdate', function () {
if (art.playing && _this.show && Date.now() - _this.mouseMoveTime >= 3000) { if (art.playing && _this.show && Date.now() - activeTime >= constructor.CONTROL_HIDE_TIME) {
_this.show = false; _this.show = false;
addClass($player, 'art-hide-cursor'); addClass($player, 'art-hide-cursor');
removeClass($player, 'art-hover'); removeClass($player, 'art-hover');
@@ -3716,6 +3721,7 @@
var _this2 = this; var _this2 = this;
var _this$art = this.art, var _this$art = this.art,
constructor = _this$art.constructor,
proxy = _this$art.events.proxy, proxy = _this$art.events.proxy,
_this$art$template = _this$art.template, _this$art$template = _this$art.template,
$infoPanel = _this$art$template.$infoPanel, $infoPanel = _this$art$template.$infoPanel,
@@ -3741,7 +3747,7 @@
} }
} }
timer = setTimeout(loop, 1000); timer = setTimeout(loop, constructor.INFO_LOOP_TIME);
} }
loop(); loop();
@@ -3911,7 +3917,8 @@
}(Component); }(Component);
function clickInit(art, events) { function clickInit(art, events) {
var _art$template = art.template, var constructor = art.constructor,
_art$template = art.template,
$player = _art$template.$player, $player = _art$template.$player,
$video = _art$template.$video; $video = _art$template.$video;
events.proxy(document, ['click', 'contextmenu'], function (event) { events.proxy(document, ['click', 'contextmenu'], function (event) {
@@ -3927,7 +3934,7 @@
events.proxy($video, 'click', function () { events.proxy($video, 'click', function () {
var now = Date.now(); var now = Date.now();
if (now - clickTime <= 300) { if (now - clickTime <= constructor.DB_CLICE_TIME) {
art.emit('dblclick'); art.emit('dblclick');
if (isMobile) { if (isMobile) {
@@ -3976,7 +3983,7 @@
art.aspectRatioReset = true; art.aspectRatioReset = true;
notice.show = ''; notice.show = '';
art.emit('resize'); art.emit('resize');
}, 500); }, art.constructor.RESIZE_TIME);
events.proxy(window, ['orientationchange', 'resize'], function () { events.proxy(window, ['orientationchange', 'resize'], function () {
resizeFn(); resizeFn();
}); });
@@ -3990,10 +3997,11 @@
function viewInit(art, events) { function viewInit(art, events) {
var option = art.option, var option = art.option,
constructor = art.constructor,
$container = art.template.$container; $container = art.template.$container;
var scrollFn = throttle(function () { var scrollFn = throttle(function () {
art.emit('view', isInViewport($container, 50)); art.emit('view', isInViewport($container, constructor.SCROLL_GAP));
}, 200); }, constructor.SCROLL_TIME);
events.proxy(window, 'scroll', function () { events.proxy(window, 'scroll', function () {
scrollFn(); scrollFn();
}); });
@@ -4251,7 +4259,6 @@
_classCallCheck(this, Notice); _classCallCheck(this, Notice);
this.art = art; this.art = art;
this.time = 2000;
this.timer = null; this.timer = null;
} }
@@ -4268,7 +4275,7 @@
this.timer = setTimeout(function () { this.timer = setTimeout(function () {
$noticeInner.innerText = ''; $noticeInner.innerText = '';
removeClass($player, 'art-notice-show'); removeClass($player, 'art-notice-show');
}, this.time); }, this.art.constructor.NOTICE_TIME);
} }
}]); }]);
@@ -4391,7 +4398,8 @@
function flip(art) { function flip(art) {
var i18n = art.i18n, var i18n = art.i18n,
icons = art.icons; icons = art.icons,
constructor = art.constructor;
var keys = { var keys = {
normal: 'Normal', normal: 'Normal',
horizontal: 'Horizontal', horizontal: 'Horizontal',
@@ -4407,7 +4415,7 @@
} }
return { return {
width: 200, width: constructor.SETTING_ITEM_WIDTH,
html: i18n.get('Video Flip'), html: i18n.get('Video Flip'),
tooltip: i18n.get(keys[art.flip]), tooltip: i18n.get(keys[art.flip]),
icon: icons.config, icon: icons.config,
@@ -4432,7 +4440,8 @@
function aspectRatio(art) { function aspectRatio(art) {
var i18n = art.i18n, var i18n = art.i18n,
icons = art.icons; icons = art.icons,
constructor = art.constructor;
function getI18n(value) { function getI18n(value) {
return value === 'default' ? i18n.get('Default') : value; return value === 'default' ? i18n.get('Default') : value;
@@ -4447,7 +4456,7 @@
} }
return { return {
width: 200, width: constructor.SETTING_ITEM_WIDTH,
html: i18n.get('Aspect Ratio'), html: i18n.get('Aspect Ratio'),
icon: icons.aspectRatio, icon: icons.aspectRatio,
tooltip: getI18n(art.aspectRatio), tooltip: getI18n(art.aspectRatio),
@@ -4472,7 +4481,8 @@
function playbackRate(art) { function playbackRate(art) {
var i18n = art.i18n, var i18n = art.i18n,
icons = art.icons; icons = art.icons,
constructor = art.constructor;
function getI18n(value) { function getI18n(value) {
return value === 1.0 ? i18n.get('Normal') : value; return value === 1.0 ? i18n.get('Normal') : value;
@@ -4487,7 +4497,7 @@
} }
return { return {
width: 200, width: constructor.SETTING_ITEM_WIDTH,
html: i18n.get('Play Speed'), html: i18n.get('Play Speed'),
tooltip: getI18n(art.playbackRate), tooltip: getI18n(art.playbackRate),
icon: icons.playbackRate, icon: icons.playbackRate,
@@ -4512,7 +4522,8 @@
function subtitleOffset(art) { function subtitleOffset(art) {
var i18n = art.i18n, var i18n = art.i18n,
icons = art.icons; icons = art.icons,
constructor = art.constructor;
function getI18n(value) { function getI18n(value) {
return value === 0 ? i18n.get('Normal') : value; return value === 0 ? i18n.get('Normal') : value;
@@ -4527,7 +4538,7 @@
} }
return { return {
width: 200, width: constructor.SETTING_ITEM_WIDTH,
html: i18n.get('Subtitle Offset'), html: i18n.get('Subtitle Offset'),
tooltip: getI18n(art.subtitleOffset), tooltip: getI18n(art.subtitleOffset),
icon: icons.subtitle, icon: icons.subtitle,
@@ -4587,7 +4598,6 @@
_this.art = art; _this.art = art;
_this.name = 'setting'; _this.name = 'setting';
_this.$parent = $setting; _this.$parent = $setting;
_this.width = 250;
_this.option = []; _this.option = [];
_this.events = []; _this.events = [];
_this.cache = new Map(); _this.cache = new Map();
@@ -4793,7 +4803,7 @@
append(_$panel, this.creatItem(option[index])); append(_$panel, this.creatItem(option[index]));
} }
_$panel.dataset.width = width || this.width; _$panel.dataset.width = width || this.art.constructor.SETTING_WIDTH;
append(this.$parent, _$panel); append(this.$parent, _$panel);
this.cache.set(option, _$panel); this.cache.set(option, _$panel);
inverseClass(_$panel, 'art-current'); inverseClass(_$panel, 'art-current');
@@ -4894,6 +4904,7 @@
function autoOrientation(art) { function autoOrientation(art) {
var option = art.option, var option = art.option,
constructor = art.constructor,
_art$template = art.template, _art$template = art.template,
$player = _art$template.$player, $player = _art$template.$player,
$video = _art$template.$video; $video = _art$template.$video;
@@ -4913,7 +4924,7 @@
setStyle($player, 'transform-origin', '0 0'); setStyle($player, 'transform-origin', '0 0');
setStyle($player, 'transform', "rotate(90deg) translate(0, -".concat(viewWidth, "px)")); setStyle($player, 'transform', "rotate(90deg) translate(0, -".concat(viewWidth, "px)"));
addClass($player, 'art-auto-orientation'); addClass($player, 'art-auto-orientation');
}, 100); }, constructor.MOBILE_AUTO_ORIENTATION_TIME);
} }
} else { } else {
if (hasClass($player, 'art-auto-orientation')) { if (hasClass($player, 'art-auto-orientation')) {
@@ -4941,11 +4952,12 @@
function autoPlayback(art) { function autoPlayback(art) {
var i18n = art.i18n, var i18n = art.i18n,
storage = art.storage, storage = art.storage,
constructor = art.constructor,
$poster = art.template.$poster; $poster = art.template.$poster;
art.on('video:timeupdate', function () { art.on('video:timeupdate', function () {
var times = storage.get('times') || {}; var times = storage.get('times') || {};
var keys = Object.keys(times); var keys = Object.keys(times);
if (keys.length > 10) delete times[keys[0]]; if (keys.length > constructor.AUTO_PLAYBACK_MAX) delete times[keys[0]];
times[art.option.url] = art.currentTime; times[art.option.url] = art.currentTime;
storage.set('times', times); storage.set('times', times);
}); });
@@ -5382,7 +5394,28 @@
}]); }]);
return Artplayer; return Artplayer;
}(Emitter); // eslint-disable-next-line no-console }(Emitter);
Artplayer.NOTICE_TIME = 2000;
Artplayer.SETTING_WIDTH = 250;
Artplayer.SETTING_ITEM_WIDTH = 200;
Artplayer.INDICATOR_SIZE = 14;
Artplayer.INDICATOR_SIZE_ICON = 16;
Artplayer.INDICATOR_SIZE_MOBILE = 20;
Artplayer.VOLUME_PANEL_WIDTH = 60;
Artplayer.VOLUME_HANDLE_WIDTH = 12;
Artplayer.RESIZE_TIME = 500;
Artplayer.SCROLL_TIME = 200;
Artplayer.SCROLL_GAP = 50;
Artplayer.AUTO_PLAYBACK_MAX = 10;
Artplayer.RECONNECT_TIME_MAX = 5;
Artplayer.RECONNECT_SLEEP_TIME = 1000;
Artplayer.CONTROL_HIDE_TIME = 3000;
Artplayer.DB_CLICE_TIME = 300;
Artplayer.MOBILE_AUTO_PLAYBACKRATE = 3;
Artplayer.MOBILE_AUTO_PLAYBACKRATE_TIME = 1000;
Artplayer.MOBILE_AUTO_ORIENTATION_TIME = 100;
Artplayer.INFO_LOOP_TIME = 1000; // eslint-disable-next-line no-console
console.log('%c ArtPlayer %c 4.3.8 %c https://artplayer.org', 'color: #fff; background: #5f5f5f', 'color: #fff; background: #4bc729', ''); console.log('%c ArtPlayer %c 4.3.8 %c https://artplayer.org', 'color: #fff; background: #5f5f5f', 'color: #fff; background: #4bc729', '');
return Artplayer; return Artplayer;
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"artplayer.js","sources":["../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/classCallCheck.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/createClass.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/assertThisInitialized.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/setPrototypeOf.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/inherits.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/typeof.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/getPrototypeOf.js","../../node_modules/_style-inject@0.3.0@style-inject/dist/style-inject.es.js","../../packages/artplayer/node_modules/_option-validator@2.0.6@option-validator/dist/option-validator.js","../../packages/artplayer/src/utils/emitter.js","../../packages/artplayer/src/utils/compatibility.js","../../packages/artplayer/src/utils/dom.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/isNativeFunction.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/construct.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/wrapNativeSuper.js","../../packages/artplayer/src/utils/error.js","../../packages/artplayer/src/utils/subtitle.js","../../packages/artplayer/src/utils/file.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/arrayLikeToArray.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/iterableToArray.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/nonIterableSpread.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/toConsumableArray.js","../../packages/artplayer/src/utils/property.js","../../packages/artplayer/src/utils/time.js","../../packages/artplayer/src/utils/format.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/defineProperty.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n/index.js","../../packages/artplayer/src/player/urlMix.js","../../packages/artplayer/src/player/attrMix.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMix.js","../../packages/artplayer/src/player/toggleMix.js","../../packages/artplayer/src/player/seekMix.js","../../packages/artplayer/src/player/volumeMix.js","../../packages/artplayer/src/player/currentTimeMix.js","../../packages/artplayer/src/player/durationMix.js","../../packages/artplayer/src/player/switchMix.js","../../packages/artplayer/src/player/playbackRateMix.js","../../packages/artplayer/src/player/aspectRatioMix.js","../../packages/artplayer/src/player/screenshotMix.js","../../packages/artplayer/node_modules/screenfull/dist/screenfull.js","../../packages/artplayer/src/player/fullscreenMix.js","../../packages/artplayer/src/player/fullscreenWebMix.js","../../packages/artplayer/src/player/pipMix.js","../../packages/artplayer/src/player/loadedMix.js","../../packages/artplayer/src/player/playedMix.js","../../packages/artplayer/src/player/playingMix.js","../../packages/artplayer/src/player/autoSizeMix.js","../../packages/artplayer/src/player/rectMix.js","../../packages/artplayer/src/player/flipMix.js","../../packages/artplayer/src/player/miniMix.js","../../packages/artplayer/src/player/loopMix.js","../../packages/artplayer/src/player/posterMix.js","../../packages/artplayer/src/player/autoHeightMix.js","../../packages/artplayer/src/player/themeMix.js","../../packages/artplayer/src/player/titleMix.js","../../packages/artplayer/src/player/exclusiveMix.js","../../packages/artplayer/src/player/subtitleOffsetMix.js","../../packages/artplayer/src/player/optionInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/index.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/superPropBase.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/get.js","../../packages/artplayer/src/utils/component.js","../../packages/artplayer/src/control/fullscreen.js","../../packages/artplayer/src/control/fullscreenWeb.js","../../packages/artplayer/src/control/pip.js","../../packages/artplayer/src/control/playAndPause.js","../../packages/artplayer/src/events/gestureInit.js","../../packages/artplayer/src/control/progress.js","../../packages/artplayer/src/control/subtitle.js","../../packages/artplayer/src/conLine truncated {"version":3,"file":"artplayer.js","sources":["../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/classCallCheck.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/createClass.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/assertThisInitialized.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/setPrototypeOf.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/inherits.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/typeof.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/getPrototypeOf.js","../../node_modules/_style-inject@0.3.0@style-inject/dist/style-inject.es.js","../../packages/artplayer/node_modules/_option-validator@2.0.6@option-validator/dist/option-validator.js","../../packages/artplayer/src/utils/emitter.js","../../packages/artplayer/src/utils/compatibility.js","../../packages/artplayer/src/utils/dom.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/isNativeFunction.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/construct.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/wrapNativeSuper.js","../../packages/artplayer/src/utils/error.js","../../packages/artplayer/src/utils/subtitle.js","../../packages/artplayer/src/utils/file.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/arrayLikeToArray.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/arrayWithoutHoles.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/iterableToArray.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/nonIterableSpread.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/toConsumableArray.js","../../packages/artplayer/src/utils/property.js","../../packages/artplayer/src/utils/time.js","../../packages/artplayer/src/utils/format.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/defineProperty.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n/index.js","../../packages/artplayer/src/player/urlMix.js","../../packages/artplayer/src/player/attrMix.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMix.js","../../packages/artplayer/src/player/toggleMix.js","../../packages/artplayer/src/player/seekMix.js","../../packages/artplayer/src/player/volumeMix.js","../../packages/artplayer/src/player/currentTimeMix.js","../../packages/artplayer/src/player/durationMix.js","../../packages/artplayer/src/player/switchMix.js","../../packages/artplayer/src/player/playbackRateMix.js","../../packages/artplayer/src/player/aspectRatioMix.js","../../packages/artplayer/src/player/screenshotMix.js","../../packages/artplayer/node_modules/screenfull/dist/screenfull.js","../../packages/artplayer/src/player/fullscreenMix.js","../../packages/artplayer/src/player/fullscreenWebMix.js","../../packages/artplayer/src/player/pipMix.js","../../packages/artplayer/src/player/loadedMix.js","../../packages/artplayer/src/player/playedMix.js","../../packages/artplayer/src/player/playingMix.js","../../packages/artplayer/src/player/autoSizeMix.js","../../packages/artplayer/src/player/rectMix.js","../../packages/artplayer/src/player/flipMix.js","../../packages/artplayer/src/player/miniMix.js","../../packages/artplayer/src/player/loopMix.js","../../packages/artplayer/src/player/posterMix.js","../../packages/artplayer/src/player/autoHeightMix.js","../../packages/artplayer/src/player/themeMix.js","../../packages/artplayer/src/player/titleMix.js","../../packages/artplayer/src/player/exclusiveMix.js","../../packages/artplayer/src/player/subtitleOffsetMix.js","../../packages/artplayer/src/player/optionInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/index.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/superPropBase.js","../../node_modules/_@babel_runtime@7.17.2@@babel/runtime/helpers/esm/get.js","../../packages/artplayer/src/utils/component.js","../../packages/artplayer/src/control/fullscreen.js","../../packages/artplayer/src/control/fullscreenWeb.js","../../packages/artplayer/src/control/pip.js","../../packages/artplayer/src/control/playAndPause.js","../../packages/artplayer/src/events/gestureInit.js","../../packages/artplayer/src/control/progress.js","../../packages/artplayer/src/control/subtitle.js","../../packages/artplayer/src/conLine truncated
+6 -4
View File
@@ -22,20 +22,22 @@ export default class Control extends Component {
const { const {
option, option,
constructor,
events: { proxy },
template: { $player }, template: { $player },
} = art; } = art;
this.mouseMoveTime = Date.now(); let activeTime = Date.now();
art.on('mousemove', () => { proxy($player, ['click', 'mousemove', 'touchstart', 'touchmove'], () => {
this.show = true; this.show = true;
removeClass($player, 'art-hide-cursor'); removeClass($player, 'art-hide-cursor');
addClass($player, 'art-hover'); addClass($player, 'art-hover');
this.mouseMoveTime = Date.now(); activeTime = Date.now();
}); });
art.on('video:timeupdate', () => { art.on('video:timeupdate', () => {
if (art.playing && this.show && Date.now() - this.mouseMoveTime >= 3000) { if (art.playing && this.show && Date.now() - activeTime >= constructor.CONTROL_HIDE_TIME) {
this.show = false; this.show = false;
addClass($player, 'art-hide-cursor'); addClass($player, 'art-hide-cursor');
removeClass($player, 'art-hover'); removeClass($player, 'art-hover');
+6 -3
View File
@@ -41,10 +41,10 @@ export default function progress(options) {
setStyle($played, 'backgroundColor', 'var(--theme)'); setStyle($played, 'backgroundColor', 'var(--theme)');
let indicatorSize = 14; let indicatorSize = art.constructor.INDICATOR_SIZE;
if (icons.indicator) { if (icons.indicator) {
indicatorSize = 16; indicatorSize = art.constructor.INDICATOR_SIZE_ICON;
append($indicator, icons.indicator); append($indicator, icons.indicator);
} else { } else {
setStyles($indicator, { setStyles($indicator, {
@@ -53,7 +53,10 @@ export default function progress(options) {
} }
if (isMobile) { if (isMobile) {
indicatorSize = 20; indicatorSize = art.constructor.INDICATOR_SIZE_MOBILE;
if (icons.indicator) {
indicatorSize = art.constructor.INDICATOR_SIZE_MOBILE_ICON;
}
} }
setStyles($indicator, { setStyles($indicator, {
+2 -2
View File
@@ -11,8 +11,8 @@ export default function volume(option) {
} = art; } = art;
let isDroging = false; let isDroging = false;
const panelWidth = 60; // 音量条宽度 const panelWidth = art.constructor.VOLUME_PANEL_WIDTH;
const handleWidth = 12; // 音量把手宽度 const handleWidth = art.constructor.VOLUME_HANDLE_WIDTH;
const $volume = append($control, icons.volume); const $volume = append($control, icons.volume);
const $volumeClose = append($control, icons.volumeClose); const $volumeClose = append($control, icons.volumeClose);
const $volumePanel = append($control, '<div class="art-volume-panel"></div>'); const $volumePanel = append($control, '<div class="art-volume-panel"></div>');
+2 -1
View File
@@ -2,6 +2,7 @@ import { includeFromEvent, isMobile } from '../utils';
export default function clickInit(art, events) { export default function clickInit(art, events) {
const { const {
constructor,
template: { $player, $video }, template: { $player, $video },
} = art; } = art;
@@ -19,7 +20,7 @@ export default function clickInit(art, events) {
events.proxy($video, 'click', () => { events.proxy($video, 'click', () => {
const now = Date.now(); const now = Date.now();
if (now - clickTime <= 300) { if (now - clickTime <= constructor.DB_CLICE_TIME) {
art.emit('dblclick'); art.emit('dblclick');
if (isMobile) { if (isMobile) {
+3 -2
View File
@@ -51,6 +51,7 @@ export default function gestureInit(art, events) {
const { const {
notice, notice,
plugins, plugins,
constructor,
template: { $video }, template: { $video },
} = art; } = art;
@@ -69,8 +70,8 @@ export default function gestureInit(art, events) {
clearTimeout(pressTimer); clearTimeout(pressTimer);
pressTimer = setTimeout(() => { pressTimer = setTimeout(() => {
art.playbackRate = 3; art.playbackRate = constructor.MOBILE_AUTO_PLAYBACKRATE;
}, 1000); }, constructor.MOBILE_AUTO_PLAYBACKRATE_TIME);
} }
}); });
+1 -1
View File
@@ -10,7 +10,7 @@ export default function resizeInit(art, events) {
art.aspectRatioReset = true; art.aspectRatioReset = true;
notice.show = ''; notice.show = '';
art.emit('resize'); art.emit('resize');
}, 500); }, art.constructor.RESIZE_TIME);
events.proxy(window, ['orientationchange', 'resize'], () => { events.proxy(window, ['orientationchange', 'resize'], () => {
resizeFn(); resizeFn();
+3 -2
View File
@@ -3,12 +3,13 @@ import { throttle, isInViewport } from '../utils';
export default function viewInit(art, events) { export default function viewInit(art, events) {
const { const {
option, option,
constructor,
template: { $container }, template: { $container },
} = art; } = art;
const scrollFn = throttle(() => { const scrollFn = throttle(() => {
art.emit('view', isInViewport($container, 50)); art.emit('view', isInViewport($container, constructor.SCROLL_GAP));
}, 200); }, constructor.SCROLL_TIME);
events.proxy(window, 'scroll', () => { events.proxy(window, 'scroll', () => {
scrollFn(); scrollFn();
+21
View File
@@ -196,6 +196,27 @@ export default class Artplayer extends Emitter {
} }
} }
Artplayer.NOTICE_TIME = 2000;
Artplayer.SETTING_WIDTH = 250;
Artplayer.SETTING_ITEM_WIDTH = 200;
Artplayer.INDICATOR_SIZE = 14;
Artplayer.INDICATOR_SIZE_ICON = 16;
Artplayer.INDICATOR_SIZE_MOBILE = 20;
Artplayer.VOLUME_PANEL_WIDTH = 60;
Artplayer.VOLUME_HANDLE_WIDTH = 12;
Artplayer.RESIZE_TIME = 500;
Artplayer.SCROLL_TIME = 200;
Artplayer.SCROLL_GAP = 50;
Artplayer.AUTO_PLAYBACK_MAX = 10;
Artplayer.RECONNECT_TIME_MAX = 5;
Artplayer.RECONNECT_SLEEP_TIME = 1000;
Artplayer.CONTROL_HIDE_TIME = 3000;
Artplayer.DB_CLICE_TIME = 300;
Artplayer.MOBILE_AUTO_PLAYBACKRATE = 3;
Artplayer.MOBILE_AUTO_PLAYBACKRATE_TIME = 1000;
Artplayer.MOBILE_AUTO_ORIENTATION_TIME = 100;
Artplayer.INFO_LOOP_TIME = 1000;
// eslint-disable-next-line no-console // eslint-disable-next-line no-console
console.log( console.log(
'%c ArtPlayer %c __VERSION__ %c https://artplayer.org', '%c ArtPlayer %c __VERSION__ %c https://artplayer.org',
+2 -1
View File
@@ -14,6 +14,7 @@ export default class Info extends Component {
init() { init() {
const { const {
constructor,
events: { proxy }, events: { proxy },
template: { $infoPanel, $infoClose, $video }, template: { $infoPanel, $infoClose, $video },
} = this.art; } = this.art;
@@ -38,7 +39,7 @@ export default class Info extends Component {
item.innerText = innerText; item.innerText = innerText;
} }
} }
timer = setTimeout(loop, 1000); timer = setTimeout(loop, constructor.INFO_LOOP_TIME);
} }
loop(); loop();
+1 -2
View File
@@ -3,7 +3,6 @@ import { addClass, removeClass } from './utils';
export default class Notice { export default class Notice {
constructor(art) { constructor(art) {
this.art = art; this.art = art;
this.time = 2000;
this.timer = null; this.timer = null;
} }
@@ -16,6 +15,6 @@ export default class Notice {
this.timer = setTimeout(() => { this.timer = setTimeout(() => {
$noticeInner.innerText = ''; $noticeInner.innerText = '';
removeClass($player, 'art-notice-show'); removeClass($player, 'art-notice-show');
}, this.time); }, this.art.constructor.NOTICE_TIME);
} }
} }
+7 -7
View File
@@ -3,15 +3,15 @@ import { sleep, addClass, setStyle, isMobile } from '../utils';
export default function eventInit(art) { export default function eventInit(art) {
const { const {
option,
events: { proxy },
template: { $player, $video, $poster },
i18n, i18n,
notice, notice,
option,
constructor,
events: { proxy },
template: { $player, $video, $poster },
} = art; } = art;
let reconnectTime = 0; let reconnectTime = 0;
const maxReconnectTime = 5;
for (let index = 0; index < config.events.length; index++) { for (let index = 0; index < config.events.length; index++) {
proxy($video, config.events[index], (event) => { proxy($video, config.events[index], (event) => {
@@ -61,8 +61,8 @@ export default function eventInit(art) {
}); });
art.on('video:error', () => { art.on('video:error', () => {
if (reconnectTime < maxReconnectTime) { if (reconnectTime < constructor.RECONNECT_TIME_MAX) {
sleep(1000).then(() => { sleep(constructor.RECONNECT_SLEEP_TIME).then(() => {
reconnectTime += 1; reconnectTime += 1;
art.url = option.url; art.url = option.url;
notice.show = `${i18n.get('Reconnect')}: ${reconnectTime}`; notice.show = `${i18n.get('Reconnect')}: ${reconnectTime}`;
@@ -72,7 +72,7 @@ export default function eventInit(art) {
art.loading.show = false; art.loading.show = false;
art.controls.show = false; art.controls.show = false;
addClass($player, 'art-error'); addClass($player, 'art-error');
sleep(1000).then(() => { sleep(constructor.RECONNECT_SLEEP_TIME).then(() => {
notice.show = i18n.get('Video Load Failed'); notice.show = i18n.get('Video Load Failed');
art.destroy(false); art.destroy(false);
}); });
@@ -3,6 +3,7 @@ import { setStyle, addClass, removeClass, hasClass } from '../utils';
export default function autoOrientation(art) { export default function autoOrientation(art) {
const { const {
option, option,
constructor,
template: { $player, $video }, template: { $player, $video },
} = art; } = art;
@@ -21,7 +22,7 @@ export default function autoOrientation(art) {
setStyle($player, 'transform-origin', '0 0'); setStyle($player, 'transform-origin', '0 0');
setStyle($player, 'transform', `rotate(90deg) translate(0, -${viewWidth}px)`); setStyle($player, 'transform', `rotate(90deg) translate(0, -${viewWidth}px)`);
addClass($player, 'art-auto-orientation'); addClass($player, 'art-auto-orientation');
}, 100); }, constructor.MOBILE_AUTO_ORIENTATION_TIME);
} }
} else { } else {
if (hasClass($player, 'art-auto-orientation')) { if (hasClass($player, 'art-auto-orientation')) {
@@ -4,13 +4,14 @@ export default function autoPlayback(art) {
const { const {
i18n, i18n,
storage, storage,
constructor,
template: { $poster }, template: { $poster },
} = art; } = art;
art.on('video:timeupdate', () => { art.on('video:timeupdate', () => {
const times = storage.get('times') || {}; const times = storage.get('times') || {};
const keys = Object.keys(times); const keys = Object.keys(times);
if (keys.length > 10) delete times[keys[0]]; if (keys.length > constructor.AUTO_PLAYBACK_MAX) delete times[keys[0]];
times[art.option.url] = art.currentTime; times[art.option.url] = art.currentTime;
storage.set('times', times); storage.set('times', times);
}); });
@@ -1,7 +1,7 @@
import { inverseClass, queryAll } from '../utils'; import { inverseClass, queryAll } from '../utils';
export default function aspectRatio(art) { export default function aspectRatio(art) {
const { i18n, icons } = art; const { i18n, icons, constructor } = art;
function getI18n(value) { function getI18n(value) {
return value === 'default' ? i18n.get('Default') : value; return value === 'default' ? i18n.get('Default') : value;
@@ -14,7 +14,7 @@ export default function aspectRatio(art) {
} }
return { return {
width: 200, width: constructor.SETTING_ITEM_WIDTH,
html: i18n.get('Aspect Ratio'), html: i18n.get('Aspect Ratio'),
icon: icons.aspectRatio, icon: icons.aspectRatio,
tooltip: getI18n(art.aspectRatio), tooltip: getI18n(art.aspectRatio),
+2 -2
View File
@@ -1,7 +1,7 @@
import { inverseClass, queryAll } from '../utils'; import { inverseClass, queryAll } from '../utils';
export default function flip(art) { export default function flip(art) {
const { i18n, icons } = art; const { i18n, icons, constructor } = art;
const keys = { const keys = {
normal: 'Normal', normal: 'Normal',
@@ -16,7 +16,7 @@ export default function flip(art) {
} }
return { return {
width: 200, width: constructor.SETTING_ITEM_WIDTH,
html: i18n.get('Video Flip'), html: i18n.get('Video Flip'),
tooltip: i18n.get(keys[art.flip]), tooltip: i18n.get(keys[art.flip]),
icon: icons.config, icon: icons.config,
+1 -2
View File
@@ -31,7 +31,6 @@ export default class Setting extends Component {
this.name = 'setting'; this.name = 'setting';
this.$parent = $setting; this.$parent = $setting;
this.width = 250;
this.option = []; this.option = [];
this.events = []; this.events = [];
this.cache = new Map(); this.cache = new Map();
@@ -241,7 +240,7 @@ export default class Setting extends Component {
append($panel, this.creatItem(option[index])); append($panel, this.creatItem(option[index]));
} }
$panel.dataset.width = width || this.width; $panel.dataset.width = width || this.art.constructor.SETTING_WIDTH;
append(this.$parent, $panel); append(this.$parent, $panel);
this.cache.set(option, $panel); this.cache.set(option, $panel);
inverseClass($panel, 'art-current'); inverseClass($panel, 'art-current');
@@ -1,7 +1,7 @@
import { inverseClass, queryAll } from '../utils'; import { inverseClass, queryAll } from '../utils';
export default function playbackRate(art) { export default function playbackRate(art) {
const { i18n, icons } = art; const { i18n, icons, constructor } = art;
function getI18n(value) { function getI18n(value) {
return value === 1.0 ? i18n.get('Normal') : value; return value === 1.0 ? i18n.get('Normal') : value;
@@ -14,7 +14,7 @@ export default function playbackRate(art) {
} }
return { return {
width: 200, width: constructor.SETTING_ITEM_WIDTH,
html: i18n.get('Play Speed'), html: i18n.get('Play Speed'),
tooltip: getI18n(art.playbackRate), tooltip: getI18n(art.playbackRate),
icon: icons.playbackRate, icon: icons.playbackRate,
@@ -1,7 +1,7 @@
import { inverseClass, queryAll } from '../utils'; import { inverseClass, queryAll } from '../utils';
export default function subtitleOffset(art) { export default function subtitleOffset(art) {
const { i18n, icons } = art; const { i18n, icons, constructor } = art;
function getI18n(value) { function getI18n(value) {
return value === 0 ? i18n.get('Normal') : value; return value === 0 ? i18n.get('Normal') : value;
@@ -14,7 +14,7 @@ export default function subtitleOffset(art) {
} }
return { return {
width: 200, width: constructor.SETTING_ITEM_WIDTH,
html: i18n.get('Subtitle Offset'), html: i18n.get('Subtitle Offset'),
tooltip: getI18n(art.subtitleOffset), tooltip: getI18n(art.subtitleOffset),
icon: icons.subtitle, icon: icons.subtitle,