This commit is contained in:
Harvey committed 2022-06-21 10:01:07 +08:00
1 parent 0535b798b2
commit 9a2fd6d9fd
4 files changed
+135 -97

No files matched your search

+5 -2
View File
@@ -21,9 +21,12 @@ var art = new Artplayer({
// 广告总时长,单位为秒 // 广告总时长,单位为秒
totalDuration: 10, totalDuration: 10,
// 多语言 // 多语言支持
i18n: { i18n: {
// close: '关闭广告',
countdown: '%s秒',
detail: '查看详情',
canBeClosed: '%s秒后可关闭广告',
}, },
}), }),
], ],
+83 -70
View File
@@ -142,7 +142,7 @@
this[globalName] = mainExports; this[globalName] = mainExports;
} }
} }
})({"3H9sA":[function(require,module,exports) { })({"gEVO5":[function(require,module,exports) {
var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js"); var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");
parcelHelpers.defineInteropFlag(exports); parcelHelpers.defineInteropFlag(exports);
var _styleLess = require("bundle-text:./style.less"); var _styleLess = require("bundle-text:./style.less");
@@ -150,12 +150,31 @@ var _styleLessDefault = parcelHelpers.interopDefault(_styleLess);
function artplayerPluginAds(option) { function artplayerPluginAds(option) {
return (art)=>{ return (art)=>{
const { template: { $player } , icons: { volume , volumeClose , fullscreenOn , fullscreenOff } , constructor: { validator , utils: { query , append , setStyle } , } , } = art; const { template: { $player } , icons: { volume , volumeClose , fullscreenOn , fullscreenOff } , constructor: { validator , utils: { query , append , setStyle } , } , } = art;
option = validator(option, { option = validator({
html: '?string', html: "",
video: '?string', video: "",
url: '?string', url: "",
playDuration: 'number', playDuration: 5,
totalDuration: 'number' totalDuration: 10,
i18n: {
close: "\u5173\u95ED\u5E7F\u544A",
countdown: "%s\u79D2",
detail: "\u67E5\u770B\u8BE6\u60C5",
canBeClosed: "%s\u79D2\u540E\u53EF\u5173\u95ED\u5E7F\u544A"
},
...option
}, {
html: "?string",
video: "?string",
url: "?string",
playDuration: "number",
totalDuration: "number",
i18n: {
close: "string",
countdown: "string",
detail: "string",
canBeClosed: "string"
}
}); });
let $ads = null; let $ads = null;
let $timer = null; let $timer = null;
@@ -165,24 +184,27 @@ function artplayerPluginAds(option) {
let time = 0; let time = 0;
let timer = null; let timer = null;
let isEnd = false; let isEnd = false;
function getI18n(val, str) {
return str.replace("%s", val);
}
function skip() { function skip() {
isEnd = true; isEnd = true;
art.play(); art.play();
if (option.video) $ads.pause(); if (option.video) $ads.pause();
setStyle(art.template.$ads, 'display', 'none'); setStyle(art.template.$ads, "display", "none");
art.emit('artplayerPluginAds:skip', option); art.emit("artplayerPluginAds:skip", option);
} }
function play() { function play() {
if (isEnd) return; if (isEnd) return;
timer = setTimeout(()=>{ timer = setTimeout(()=>{
time += 1; time += 1;
const playDuration = option.playDuration - time; const playDuration = option.playDuration - time;
if (playDuration >= 1) $close.innerHTML = `${playDuration}秒后可关闭广告`; if (playDuration >= 1) $close.innerHTML = getI18n(playDuration, option.i18n.canBeClosed);
else { else {
$close.innerHTML = '关闭广告'; $close.innerHTML = option.i18n.close;
art.proxy($close, 'click', skip); art.proxy($close, "click", skip);
} }
$countdown.innerHTML = `${option.totalDuration - time}秒`; $countdown.innerHTML = getI18n(option.totalDuration - time, option.i18n.countdown);
if (time >= option.totalDuration) skip(); if (time >= option.totalDuration) skip();
else play(); else play();
}, 1000); }, 1000);
@@ -193,92 +215,83 @@ function artplayerPluginAds(option) {
} }
function init() { function init() {
art.template.$ads = append($player, '<div class="artplayer-plugin-ads"></div>'); art.template.$ads = append($player, '<div class="artplayer-plugin-ads"></div>');
$ads = append(art.template.$ads, option.video ? `<video class="artplayer-plugin-ads-video" src="${option.video}"></video>` : `<div class="artplayer-plugin-ads-html">${option.html}</div>`); $ads = append(art.template.$ads, option.video ? `<video class="artplayer-plugin-ads-video" src="${option.video}" loop></video>` : `<div class="artplayer-plugin-ads-html">${option.html}</div>`);
$timer = append(art.template.$ads, `<div class="artplayer-plugin-ads-timer"> $timer = append(art.template.$ads, `<div class="artplayer-plugin-ads-timer">
<div class="artplayer-plugin-ads-close">${option.playDuration}秒后可关闭广告</div> <div class="artplayer-plugin-ads-close">${getI18n(option.playDuration, option.i18n.canBeClosed)}</div>
<div class="artplayer-plugin-ads-countdown">${option.totalDuration}秒</div> <div class="artplayer-plugin-ads-countdown">${getI18n(option.totalDuration, option.i18n.countdown)}</div>
</div>`); </div>`);
$close = query('.artplayer-plugin-ads-close', $timer); $close = query(".artplayer-plugin-ads-close", $timer);
$countdown = query('.artplayer-plugin-ads-countdown', $timer); $countdown = query(".artplayer-plugin-ads-countdown", $timer);
$control = append(art.template.$ads, `<div class="artplayer-plugin-ads-control"> $control = append(art.template.$ads, `<div class="artplayer-plugin-ads-control">
<div class="artplayer-plugin-ads-detail">查看详情</div> <div class="artplayer-plugin-ads-detail">${option.i18n.detail}</div>
<div class="artplayer-plugin-ads-muted"></div> <div class="artplayer-plugin-ads-muted"></div>
<div class="artplayer-plugin-ads-fullscreen"></div> <div class="artplayer-plugin-ads-fullscreen"></div>
</div>`); </div>`);
const $detail = query('.artplayer-plugin-ads-detail', $control); const $detail = query(".artplayer-plugin-ads-detail", $control);
const $muted = query('.artplayer-plugin-ads-muted', $control); const $muted = query(".artplayer-plugin-ads-muted", $control);
const $fullscreen = query('.artplayer-plugin-ads-fullscreen', $control); const $fullscreen = query(".artplayer-plugin-ads-fullscreen", $control);
if (option.video) { if (option.video) {
const $volume = append($muted, volume); const $volume = append($muted, volume);
const $volumeClose = append($muted, volumeClose); const $volumeClose = append($muted, volumeClose);
setStyle($volumeClose, 'display', 'none'); setStyle($volumeClose, "display", "none");
art.proxy($ads, 'loadedmetadata', ()=>{ art.proxy($muted, "click", ()=>{
if ($ads.muted) {
setStyle($volume, 'display', 'none');
setStyle($volumeClose, 'display', 'inline-flex');
} else {
setStyle($volume, 'display', 'inline-flex');
setStyle($volumeClose, 'display', 'none');
}
});
art.proxy($muted, 'click', ()=>{
$ads.muted = !$ads.muted; $ads.muted = !$ads.muted;
if ($ads.muted) { if ($ads.muted) {
setStyle($volume, 'display', 'none'); setStyle($volume, "display", "none");
setStyle($volumeClose, 'display', 'inline-flex'); setStyle($volumeClose, "display", "inline-flex");
} else { } else {
setStyle($volume, 'display', 'inline-flex'); setStyle($volume, "display", "inline-flex");
setStyle($volumeClose, 'display', 'none'); setStyle($volumeClose, "display", "none");
} }
}); });
} else setStyle($muted, 'display', 'none'); } else setStyle($muted, "display", "none");
const $fullscreenOn = append($fullscreen, fullscreenOn); const $fullscreenOn = append($fullscreen, fullscreenOn);
const $fullscreenOff = append($fullscreen, fullscreenOff); const $fullscreenOff = append($fullscreen, fullscreenOff);
setStyle($fullscreenOff, 'display', 'none'); setStyle($fullscreenOff, "display", "none");
art.proxy($fullscreen, 'click', ()=>{ art.proxy($fullscreen, "click", ()=>{
art.fullscreen = !art.fullscreen; art.fullscreen = !art.fullscreen;
if (art.fullscreen) { if (art.fullscreen) {
setStyle($fullscreenOn, 'display', 'inline-flex'); setStyle($fullscreenOn, "display", "inline-flex");
setStyle($fullscreenOff, 'display', 'none'); setStyle($fullscreenOff, "display", "none");
} else { } else {
setStyle($fullscreenOn, 'display', 'none'); setStyle($fullscreenOn, "display", "none");
setStyle($fullscreenOff, 'display', 'inline-flex'); setStyle($fullscreenOff, "display", "inline-flex");
} }
}); });
art.proxy($ads, 'click', ()=>{ art.proxy($ads, "click", ()=>{
if (option.url) window.open(option.url); if (option.url) window.open(option.url);
art.emit('artplayerPluginAds:click', option); art.emit("artplayerPluginAds:click", option);
}); });
art.proxy($detail, 'click', ()=>{ art.proxy($detail, "click", ()=>{
if (option.url) window.open(option.url); if (option.url) window.open(option.url);
art.emit('artplayerPluginAds:click', option); art.emit("artplayerPluginAds:click", option);
}); });
} }
art.on('ready', ()=>{ art.on("ready", ()=>{
art.once('play', ()=>{ art.once("play", ()=>{
init(); init();
art.pause(); art.pause();
if (option.video) { if (option.video) {
art.loading.show = true; art.loading.show = true;
art.proxy($ads, 'error', skip); art.proxy($ads, "error", skip);
art.proxy($ads, 'loadedmetadata', ()=>{ art.proxy($ads, "loadedmetadata", ()=>{
play(); play();
$ads.play(); $ads.play();
art.loading.show = false; art.loading.show = false;
setStyle($timer, 'display', 'flex'); setStyle($timer, "display", "flex");
}); });
} else { } else {
play(); play();
setStyle($timer, 'display', 'flex'); setStyle($timer, "display", "flex");
} }
}); });
art.proxy(document, 'visibilitychange', ()=>{ art.proxy(document, "visibilitychange", ()=>{
if (document.hidden) pause(); if (document.hidden) pause();
else play(); else play();
}); });
}); });
return { return {
name: 'artplayerPluginAds', name: "artplayerPluginAds",
skip, skip,
pause, pause,
play play
@@ -288,34 +301,31 @@ function artplayerPluginAds(option) {
exports.default = artplayerPluginAds; exports.default = artplayerPluginAds;
artplayerPluginAds.env = "development"; artplayerPluginAds.env = "development";
artplayerPluginAds.version = "4.4.8"; artplayerPluginAds.version = "4.4.8";
artplayerPluginAds.build = "1655733759532"; artplayerPluginAds.build = "1655692550967";
if (typeof document !== 'undefined') { if (typeof document !== "undefined") {
if (!document.getElementById('artplayer-plugin-ads')) { if (!document.getElementById("artplayer-plugin-ads")) {
const $style = document.createElement('style'); const $style = document.createElement("style");
$style.id = 'artplayer-plugin-ads'; $style.id = "artplayer-plugin-ads";
$style.textContent = _styleLessDefault.default; $style.textContent = (0, _styleLessDefault.default);
document.head.appendChild($style); document.head.appendChild($style);
} }
} }
if (typeof window !== 'undefined') window['artplayerPluginAds'] = artplayerPluginAds; if (typeof window !== "undefined") window["artplayerPluginAds"] = artplayerPluginAds;
},{"bundle-text:./style.less":"juGHU","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"juGHU":[function(require,module,exports) { },{"@parcel/transformer-js/src/esmodule-helpers.js":"8MjWm","bundle-text:./style.less":"1ZB0H"}],"8MjWm":[function(require,module,exports) {
module.exports = ".artplayer-plugin-ads {\n z-index: 150;\n width: 100%;\n height: 100%;\n color: #fff;\n background-color: #000;\n font-size: 13px;\n line-height: 1;\n position: absolute;\n inset: 0;\n overflow: hidden;\n}\n\n.artplayer-plugin-ads .artplayer-plugin-ads-html {\n width: 100%;\n height: 100%;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.artplayer-plugin-ads .artplayer-plugin-ads-video {\n width: 100%;\n height: 100%;\n}\n\n.artplayer-plugin-ads .artplayer-plugin-ads-timer {\n display: none;\n position: absolute;\n top: 10px;\n right: 10px;\n}\n\n.artplayer-plugin-ads .artplayer-plugin-ads-timer > div {\n cursor: pointer;\n background-color: #000000bf;\n border-radius: 15px;\n align-items: center;\n margin-left: 5px;\n padding: 5px 10px;\n display: flex;\n}\n\n.artplayer-plugin-ads .artplayer-plugin-ads-control {\n display: flex;\n position: absolute;\n bottom: 10px;\n right: 10px;\n}\n\n.artplayer-plugin-ads .artplayer-plugin-ads-control > div {\n cursor: pointer;\n background-color: #000000bf;\n border-radius: 15px;\n align-items: center;\n margin-left: 5px;\n padding: 5px 10px;\n display: flex;\n}\n\n.artplayer-plugin-ads .artplayer-plugin-ads-control .art-icon svg {\n width: 20px;\n height: 20px;\n}\n\n";
},{}],"5dUr6":[function(require,module,exports) {
exports.interopDefault = function(a) { exports.interopDefault = function(a) {
return a && a.__esModule ? a : { return a && a.__esModule ? a : {
default: a default: a
}; };
}; };
exports.defineInteropFlag = function(a) { exports.defineInteropFlag = function(a) {
Object.defineProperty(a, '__esModule', { Object.defineProperty(a, "__esModule", {
value: true value: true
}); });
}; };
exports.exportAll = function(source, dest) { exports.exportAll = function(source, dest) {
Object.keys(source).forEach(function(key) { Object.keys(source).forEach(function(key) {
if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) return; if (key === "default" || key === "__esModule" || dest.hasOwnProperty(key)) return;
Object.defineProperty(dest, key, { Object.defineProperty(dest, key, {
enumerable: true, enumerable: true,
get: function() { get: function() {
@@ -332,6 +342,9 @@ exports.export = function(dest, destName, get) {
}); });
}; };
},{}]},["3H9sA"], "3H9sA", "parcelRequire4dc0") },{}],"1ZB0H":[function(require,module,exports) {
module.exports = ".artplayer-plugin-ads {\n z-index: 150;\n width: 100%;\n height: 100%;\n color: #fff;\n background-color: #000;\n font-size: 13px;\n line-height: 1;\n position: absolute;\n inset: 0;\n overflow: hidden;\n}\n\n.artplayer-plugin-ads .artplayer-plugin-ads-html {\n width: 100%;\n height: 100%;\n justify-content: center;\n align-items: center;\n display: flex;\n}\n\n.artplayer-plugin-ads .artplayer-plugin-ads-video {\n width: 100%;\n height: 100%;\n}\n\n.artplayer-plugin-ads .artplayer-plugin-ads-timer {\n display: none;\n position: absolute;\n top: 10px;\n right: 10px;\n}\n\n.artplayer-plugin-ads .artplayer-plugin-ads-timer > div {\n cursor: pointer;\n background-color: #000000bf;\n border-radius: 15px;\n align-items: center;\n margin-left: 5px;\n padding: 5px 10px;\n display: flex;\n}\n\n.artplayer-plugin-ads .artplayer-plugin-ads-control {\n display: flex;\n position: absolute;\n bottom: 10px;\n right: 10px;\n}\n\n.artplayer-plugin-ads .artplayer-plugin-ads-control > div {\n cursor: pointer;\n background-color: #000000bf;\n border-radius: 15px;\n align-items: center;\n margin-left: 5px;\n padding: 5px 10px;\n display: flex;\n}\n\n.artplayer-plugin-ads .artplayer-plugin-ads-control .art-icon svg {\n width: 20px;\n height: 20px;\n}\n\n";
},{}]},["gEVO5"], "gEVO5", "parcelRequirea5da")
//# sourceMappingURL=index.js.map //# sourceMappingURL=index.js.map
@@ -1 +1 @@
{"mappings":"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 truncated {"mappings":"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 truncated
+46 -24
View File
@@ -11,13 +11,35 @@ export default function artplayerPluginAds(option) {
}, },
} = art; } = art;
option = validator(option, { option = validator(
html: '?string', {
video: '?string', html: '',
url: '?string', video: '',
playDuration: 'number', url: '',
totalDuration: 'number', playDuration: 5,
}); totalDuration: 10,
i18n: {
close: '关闭广告',
countdown: '%s秒',
detail: '查看详情',
canBeClosed: '%s秒后可关闭广告',
},
...option,
},
{
html: '?string',
video: '?string',
url: '?string',
playDuration: 'number',
totalDuration: 'number',
i18n: {
close: 'string',
countdown: 'string',
detail: 'string',
canBeClosed: 'string',
},
},
);
let $ads = null; let $ads = null;
let $timer = null; let $timer = null;
@@ -29,6 +51,10 @@ export default function artplayerPluginAds(option) {
let timer = null; let timer = null;
let isEnd = false; let isEnd = false;
function getI18n(val, str) {
return str.replace('%s', val);
}
function skip() { function skip() {
isEnd = true; isEnd = true;
art.play(); art.play();
@@ -45,13 +71,13 @@ export default function artplayerPluginAds(option) {
const playDuration = option.playDuration - time; const playDuration = option.playDuration - time;
if (playDuration >= 1) { if (playDuration >= 1) {
$close.innerHTML = `${playDuration}秒后可关闭广告`; $close.innerHTML = getI18n(playDuration, option.i18n.canBeClosed);
} else { } else {
$close.innerHTML = '关闭广告'; $close.innerHTML = option.i18n.close;
art.proxy($close, 'click', skip); art.proxy($close, 'click', skip);
} }
$countdown.innerHTML = `${option.totalDuration - time}秒`; $countdown.innerHTML = getI18n(option.totalDuration - time, option.i18n.countdown);
if (time >= option.totalDuration) { if (time >= option.totalDuration) {
skip(); skip();
@@ -72,15 +98,21 @@ export default function artplayerPluginAds(option) {
$ads = append( $ads = append(
art.template.$ads, art.template.$ads,
option.video option.video
? `<video class="artplayer-plugin-ads-video" src="${option.video}"></video>` ? `<video class="artplayer-plugin-ads-video" src="${option.video}" loop></video>`
: `<div class="artplayer-plugin-ads-html">${option.html}</div>`, : `<div class="artplayer-plugin-ads-html">${option.html}</div>`,
); );
$timer = append( $timer = append(
art.template.$ads, art.template.$ads,
`<div class="artplayer-plugin-ads-timer"> `<div class="artplayer-plugin-ads-timer">
<div class="artplayer-plugin-ads-close">${option.playDuration}秒后可关闭广告</div> <div class="artplayer-plugin-ads-close">${getI18n(
<div class="artplayer-plugin-ads-countdown">${option.totalDuration}秒</div> option.playDuration,
option.i18n.canBeClosed,
)}</div>
<div class="artplayer-plugin-ads-countdown">${getI18n(
option.totalDuration,
option.i18n.countdown,
)}</div>
</div>`, </div>`,
); );
@@ -90,7 +122,7 @@ export default function artplayerPluginAds(option) {
$control = append( $control = append(
art.template.$ads, art.template.$ads,
`<div class="artplayer-plugin-ads-control"> `<div class="artplayer-plugin-ads-control">
<div class="artplayer-plugin-ads-detail">查看详情</div> <div class="artplayer-plugin-ads-detail">${option.i18n.detail}</div>
<div class="artplayer-plugin-ads-muted"></div> <div class="artplayer-plugin-ads-muted"></div>
<div class="artplayer-plugin-ads-fullscreen"></div> <div class="artplayer-plugin-ads-fullscreen"></div>
</div>`, </div>`,
@@ -105,16 +137,6 @@ export default function artplayerPluginAds(option) {
const $volumeClose = append($muted, volumeClose); const $volumeClose = append($muted, volumeClose);
setStyle($volumeClose, 'display', 'none'); setStyle($volumeClose, 'display', 'none');
art.proxy($ads, 'loadedmetadata', () => {
if ($ads.muted) {
setStyle($volume, 'display', 'none');
setStyle($volumeClose, 'display', 'inline-flex');
} else {
setStyle($volume, 'display', 'inline-flex');
setStyle($volumeClose, 'display', 'none');
}
});
art.proxy($muted, 'click', () => { art.proxy($muted, 'click', () => {
$ads.muted = !$ads.muted; $ads.muted = !$ads.muted;
if ($ads.muted) { if ($ads.muted) {