(()=>{return(e,t)=>{let n=null;let s=null;class o{constructor(e){this.blob=e;this.url=URL.createObjectURL(this.blob)}revoke(){URL.revokeObjectURL(this.url)}}const r=e=>{if(n===null||s===null){n=document.createElement("canvas");n.width=e.videoWidth;n.height=e.videoHeight;s=n.getContext("2d")}return new Promise((t,r)=>{if(n===null||s===null){r("视频截图失败: canvas 未创建或创建失败.");return}s.drawImage(e,0,0);n.toBlob(e=>{if(e===null){r("视频截图失败: 创建 blob 失败.");return}t(new o(e))},"image/png")})};t.applyStyle("videoScreenshotStyle");document.body.insertAdjacentHTML("beforeend",`\n
\n \n
\n`);Vue.component("video-screenshot",{props:{objectUrl:String},template:`\n
\n \n
`});const i=new Vue({el:".video-screenshot-list",data:{screenshots:[]}});Observer.videoChange(async()=>{const e=await SpinQuery.select("#bofqi video");const t=await SpinQuery.select(".bilibili-player-video-time");if(e===null||t===null||document.querySelector(".video-take-screenshot")){return}t.insertAdjacentHTML("afterend",`\n
\n \n
`);const n=document.querySelector(".video-take-screenshot");if(n===null){return}n.addEventListener("click",async()=>{const t=await r(e);i.screenshots.push(t)})});return{export:{takeScreenshot:r,screenShotsList:i}}}})();