@oplayer/plugins
Version:
oplayer's plugin
22 lines (19 loc) • 3.6 kB
JavaScript
/**
* name: @oplayer/ad
* version: v1.0.15-beta.3
* description: oplayer's plugin
* author: shiyiya
* homepage: https://github.com/shiyiya/oplayer
*/
(function(e,l){typeof exports=="object"&&typeof module<"u"?module.exports=l(require("@oplayer/core")):typeof define=="function"&&define.amd?define(["@oplayer/core"],l):(e=typeof globalThis<"u"?globalThis:e||self,e.OAd=l(e.OPlayer))})(this,function(e){"use strict";const l=e.$.css({position:"absolute",right:"0.5em",top:"0.5em","z-index":1,display:"flex",gap:"5px","align-items":"center","justify-content":"center"}),o=e.$.css("display: inline-block;background: rgba(28 ,28 ,28 , 0.9);color: #fff;padding: 4px 8px;border-radius: 4px; fill:#fff; font-size: 14px"),p=e.$.css({position:"relative","&::before":{display:"block",content:"''",position:"absolute",width:"50%",height:"2px","background-color":"#fff",transform:"rotate(40deg) translateY(-100%)",top:"48%",left:"6px"}});return({duration:d,skipDuration:a,video:u,image:x,plugins:b,target:$,autoplay:y,onSkip:f,position:v})=>({name:"oplayer-plugin-ad",version:"1.0.15-beta.3",key:"ad",apply:t=>{y?g():e.$.render(e.$.create(`div.${e.$.css({width:"100%",height:"100%",position:"absolute",top:"0",left:"0","z-index":999})}`),t.$root).onclick=function(){this.remove(),g()};function g(){const s=e.$.create(`div.${e.$.css({width:"100%",height:"100%",position:"absolute",top:"0",left:"0","z-index":999,cursor:"pointer"})}`,{},`<div class=${v?e.$.css({...v,position:"absolute","z-index":1,display:"flex",gap:"5px","align-items":"center","justify-content":"center"}):l}>
${a?`<div class=${o} skipDuration>${t.locales.get("Can be closed after %ss",a)}</div>`:""}
<div class=${o} duration>${t.locales.get("%ss",d)}</div>
${u?`
<div class='${o} ${p}' volume>
<svg width="1em" height="1.5em" viewBox="0 0 1024 1024" version="1.1">
<path d="M552.96 152.064v719.872c0 16.118-12.698 29.184-28.365 29.184a67.482 67.482 0 0 1-48.394-20.644L329.359 729.354a74.547 74.547 0 0 0-53.493-22.794H250.47c-104.386 0-189.03-87.101-189.03-194.56s84.644-194.56 189.03-194.56h25.396c20.07 0 39.3-8.192 53.473-22.794L476.18 143.503a67.482 67.482 0 0 1 48.436-20.623c15.646 0 28.344 13.066 28.344 29.184z m216.965 101.58a39.936 39.936 0 0 1 0-57.425 42.25 42.25 0 0 1 58.778 0c178.483 174.408 178.483 457.154 0 631.562a42.25 42.25 0 0 1-58.778 0 39.936 39.936 0 0 1 0-57.405 359.506 359.506 0 0 0 0-516.752zM666.542 373.884a39.731 39.731 0 0 1 0-55.235 37.52 37.52 0 0 1 53.944 0c104.305 106.783 104.305 279.921 0 386.704a37.52 37.52 0 0 1-53.944 0 39.731 39.731 0 0 1 0-55.235c74.486-76.288 74.486-199.946 0-276.234z" />
</svg>
</div>`:""}
</div>
</div>
`);let i;const c=s.querySelector(`.${o}[skipDuration]`),z=s.querySelector(`.${o}[duration]`),m=s.querySelector(`.${o}[volume]`);u?(i=e.Player.make(s,{muted:!0,autoplay:!0,loop:!0,source:{src:u}}).use(b||[]).create(),m.addEventListener("click",r=>{r.preventDefault(),r.stopPropagation(),i.isMuted?i.unmute():i.mute(),m.classList.toggle(p)})):s.style.background=`url(${x}) center center`,e.$.render(s,t.$root);let n=0;const h=()=>{clearInterval(w),i==null||i.destroy(),s.remove(),t.play()},w=setInterval(()=>{a!==void 0&&(n++,a-n>0?c.innerText=t.locales.get("Can be closed after %ss",a-n):(c.innerText=t.locales.get("Close"),c.onclick??(c.onclick=()=>{f==null||f(n),h()}))),d-n>0?z.innerText=t.locales.get("%ss",d-n):h()},1e3);$&&s.addEventListener("click",r=>{r.target.classList.contains(o)||window.open($,"_blank")})}}})});