mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
1 line
1.7 KiB
JavaScript
1 line
1.7 KiB
JavaScript
(()=>{return(t,e)=>{(async()=>{if(!document.URL.includes("//www.bilibili.com/video/av")){return}await SpinQuery.condition(()=>document.querySelector(".video-toolbar .ops .collect"),t=>{return t!==null&&t.innerText!=="--"});const t=document.cookie.replace(/(?:(?:^|.*\s*)bili_jct\s*\=\s*([^]*).*$)|^.*$/,"$1");const e=document.querySelector(".video-toolbar .ops .collect");if(!e){return}e.insertAdjacentHTML("afterend",`\n <span title='稍后再看' class='watchlater'>\n <i class='mdi mdi-timetable'></i>\n 稍后再看\n <div class='tip'></div>\n </span>\n `);const i=document.querySelector(".ops .watchlater");const s=document.querySelector(".ops .watchlater .tip");if(!i||!s){return}let a;const o=async()=>{const t=await SpinQuery.select(()=>unsafeWindow.aid);const e=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/v2/history/toview/web");if(e.code!==0){e.data={list:[]}}const s=e.data.list.map(t=>t.aid);if(s.includes(parseInt(t))){i.classList.add("on")}else{i.classList.remove("on")}return t};Observer.videoChange(async()=>{a=await o()});let n=0;const c=async({url:e,tipText:i})=>{const o=await Ajax.postTextWithCredentials(e,`aid=${a}&csrf=${t}`);const c=JSON.parse(o);if(c.code!==0){logError(`稍后再看操作失败: ${c.message}`);return false}else{s.innerHTML=i;s.classList.add("show");if(n!==0){clearTimeout(n)}n=setTimeout(()=>s.classList.remove("show"),2e3);return true}};i.addEventListener("click",async()=>{i.classList.toggle("on");let t;if(i.classList.contains("on")){t=await c({url:"https://api.bilibili.com/x/v2/history/toview/add",tipText:"已添加至稍后再看"})}else{t=await c({url:"https://api.bilibili.com/x/v2/history/toview/del",tipText:"已从稍后再看移除"})}if(t==false){i.classList.toggle("on")}})})()}})(); |