Files
WechatMomentScreenshot/main.min.js
✨小透明・宸✨ c327911ef7 各种minify
2020-06-07 01:47:08 +08:00

1 line
18 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

function loadScript(e){var t=document.createElement("script");t.src=e,document.body.appendChild(t)}function xhrGet(e,t){var n=new XMLHttpRequest;n.open("GET",e),n.onload=function(){t(n.responseText)},n.send()}function getArticleInfo(){var e=new mdui.Dialog("#request");mdui.prompt("公众号文章链接",function(t){var n=new XMLHttpRequest;n.open("GET","https://wmsproxy.transparentlc.workers.dev/?url="+encodeURIComponent(t)),n.onreadystatechange=function(){if(4==n.readyState&&200==n.status){var t=JSON.parse(n.responseText);document.getElementById("requestAction").innerText="OK","opening"!=e.getState()&&"opened"!=e.getState()||(void 0!==t&&t.success?(document.getElementById("configArticleTitle").value=t.title,document.getElementById("articleTitle").innerText=t.title,document.getElementById("articleIcon").style.backgroundImage='url("'+t.cover+'")',document.getElementById("requestResult").innerText="获取成功!(ゝ∀・)",document.getElementById("requestResultContent").innerHTML="标题:"+t.title+'<br>封面:<a target="_blank" href="'+t.cover+'">点此查看</a>'):(document.getElementById("requestResult").innerText="获取失败!( ´_っ`)",document.getElementById("requestResultContent").innerHTML="输入的链接是否为微信公众号文章?<br>(链接通常以 <code>https://mp.weixin.qq.com/</code> 作为开头)"))}else document.getElementById("requestResult").innerText="获取失败!( ´_っ`)",document.getElementById("requestResultContent").innerHTML="无法连接到服务器。";e.handleUpdate()},n.send(),document.getElementById("requestResult").innerText="",document.getElementById("requestAction").innerText="CANCEL",document.getElementById("requestResultContent").innerHTML='<div class="mdui-valign"><div class="mdui-spinner"></div><span class="mdui-m-l-2">获取中…… (o゚ω゚o)</span></div>',mdui.updateSpinners(),e.open()},null)}function clearMultiImage(){for(var e=1;e<=9;e++)document.getElementById("image"+e).style.backgroundImage=""}function getTimeString(e,t){var n=new Date(e.getTime()-60*e.getTimezoneOffset()*1e3-(e.getTime()-60*e.getTimezoneOffset()*1e3)%864e5),o=new Date(t.getTime()-60*t.getTimezoneOffset()*1e3-(t.getTime()-60*t.getTimezoneOffset()*1e3)%864e5);return n.getTime()==o.getTime()?(t.getHours()<10?"0"+t.getHours():t.getHours())+":"+(t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes()):n.getTime()-o.getTime()==864e5?"昨天 "+(t.getHours()<10?"0"+t.getHours():t.getHours())+":"+(t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes()):t.getFullYear()+"年"+(t.getMonth()+1)+"月"+t.getDate()+"日 "+(t.getHours()<10?"0"+t.getHours():t.getHours())+":"+(t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes())}function copyGitLink(){document.getElementById("gitLink").style.display="block";var e=document.createRange();e.selectNodeContents(document.getElementById("gitLink"));var t=document.getSelection();t.removeAllRanges(),t.addRange(e),document.execCommand("Copy"),t.removeAllRanges(),mdui.snackbar({message:"已复制到剪贴板~( っ*'ω'*c)"}),document.getElementById("gitLink").style.display="none"}function addComment(e,t,n,o){commentList.push({avatar:e,name:t,content:n,date:o});var m=document.createElement("tr");m.innerHTML="<th>"+(document.getElementById("configCommentList").childElementCount+1)+"</th><th>"+t+"</th><th>"+n+"</th><th>"+o.toLocaleString()+"</th>",document.getElementById("configCommentList").append(m)}function removeComment(){commentList.length&&(commentList.pop(),document.getElementById("configCommentList").removeChild(document.getElementById("configCommentList").childNodes[document.getElementById("configCommentList").childElementCount]))}function emoticonReplace(e){e=e.replace(/\r\n/g,"<br>").replace(/\n/g,"<br>");for(var t=0;t<emoticon.length;t++)e=e.replace(new RegExp(emoticon[t].name,"g"),'<img class="emoticon" src="'+emoticon[t].URL+'">');return e}mdui.confirm('<div class="mdui-typo"><p>使用本工具不需要强制关注任何公众号或转发任何内容到朋友圈。如果你发现有公众号存在类似<strong>“关注○○,发送○○,转发○○到朋友圈领取○○”</strong>的行为,请对此类<strong>诱导行为</strong>进行<strong>投诉</strong>。<a href="https://mp.weixin.qq.com/cgi-bin/readtemplate?t=business/faq_operation_tmpl#3dot3_3" target="_blank">什么是诱导行为?</a></p><p>本工具生成的截图,仅可用于<strong>应付各类强制要求转发朋友圈的情形</strong>,请勿用于其他用途。</p><p>当你生成截图时,你应该确定由此产生的结果是你自己可以接受的,在此之前你可以不使用本工具并离开当前页面。</p></div>',"在开始使用之前……",null,function(){location.href="about:blank"},{modal:!0,closeOnEsc:!1,history:!1}),-1!==navigator.userAgent.toLowerCase().indexOf("micromessenger")&&loadScript("fuckWechat.js"),window.Promise||loadScript("https://cdn.jsdelivr.net/npm/promise-polyfill/dist/polyfill.min.js");var avatarURL=[];xhrGet("avatarURL.json",function(e){avatarURL=JSON.parse(e)});var emoticon=[];xhrGet("emoticon.json",function(e){emoticon=JSON.parse(e)});var commentList=[];document.getElementById("configTypeText").onclick=function(){document.getElementById("configWebsite").style.display="none",document.getElementById("configSingleImage").style.display="none",document.getElementById("configMultiImage").style.display="none",document.getElementById("article").style.display="none",document.getElementById("singleImage").style.display="none",document.getElementById("multiImage").style.display="none"},document.getElementById("configTypeWebsite").onclick=function(){document.getElementById("configWebsite").style.display="block",document.getElementById("configSingleImage").style.display="none",document.getElementById("configMultiImage").style.display="none",document.getElementById("article").style.display="flex",document.getElementById("singleImage").style.display="none",document.getElementById("multiImage").style.display="none"},document.getElementById("configTypeSingleImage").onclick=function(){document.getElementById("configWebsite").style.display="none",document.getElementById("configSingleImage").style.display="block",document.getElementById("configMultiImage").style.display="none",document.getElementById("article").style.display="none",document.getElementById("singleImage").style.display="block",document.getElementById("multiImage").style.display="none"},document.getElementById("configTypeMultiImage").onclick=function(){document.getElementById("configWebsite").style.display="none",document.getElementById("configSingleImage").style.display="none",document.getElementById("configMultiImage").style.display="block",document.getElementById("article").style.display="none",document.getElementById("singleImage").style.display="none",document.getElementById("multiImage").style.display="block"};var date=new Date;document.getElementById("configScreenshotDate").valueAsDate=date,document.getElementById("configScreenshotTimeHour").value=date.getHours(),document.getElementById("configScreenshotTimeMinute").value=date.getMinutes(),document.getElementById("configPostDate").valueAsDate=date,document.getElementById("configPostTimeHour").value=date.getHours(),document.getElementById("configPostTimeMinute").value=date.getMinutes(),document.getElementById("configCommentDate").valueAsDate=date,document.getElementById("configCommentTimeHour").value=date.getHours(),document.getElementById("configCommentTimeMinute").value=date.getMinutes(),document.getElementById("configLike").value=Math.floor(20*Math.random()),document.getElementById("configPostTimeHour").addEventListener("input",function(){document.getElementById("configPostTimeHour").value>23?document.getElementById("configPostTimeHour").value=23:document.getElementById("configPostTimeHour").value<0&&(document.getElementById("configPostTimeHour").value=0)}),document.getElementById("configPostTimeMinute").addEventListener("input",function(){document.getElementById("configPostTimeMinute").value>59?document.getElementById("configPostTimeMinute").value=59:document.getElementById("configPostTimeMinute").value<0&&(document.getElementById("configPostTimeMinute").value=0)}),document.getElementById("configScreenshotTimeHour").addEventListener("input",function(){document.getElementById("configScreenshotTimeHour").value>23?document.getElementById("configScreenshotTimeHour").value=23:document.getElementById("configScreenshotTimeHour").value<0&&(document.getElementById("configScreenshotTimeHour").value=0)}),document.getElementById("configScreenshotTimeMinute").addEventListener("input",function(){document.getElementById("configScreenshotTimeMinute").value>59?document.getElementById("configScreenshotTimeMinute").value=59:document.getElementById("configScreenshotTimeMinute").value<0&&(document.getElementById("configScreenshotTimeMinute").value=0)}),document.getElementById("configCommentTimeHour").addEventListener("input",function(){document.getElementById("configCommentTimeHour").value>23?document.getElementById("configCommentTimeHour").value=23:document.getElementById("configCommentTimeHour").value<0&&(document.getElementById("configCommentTimeHour").value=0)}),document.getElementById("configCommentTimeMinute").addEventListener("input",function(){document.getElementById("configCommentTimeMinute").value>59?document.getElementById("configCommentTimeMinute").value=59:document.getElementById("configCommentTimeMinute").value<0&&(document.getElementById("configCommentTimeMinute").value=0)}),document.getElementById("configLike").addEventListener("input",function(){document.getElementById("configLike").value<0&&(document.getElementById("configLike").value=0)}),document.getElementById("configAvatar").addEventListener("change",function(){document.getElementById("avatar").style.backgroundImage='url("'+window.URL.createObjectURL(this.files[0])+'")'}),document.getElementById("configArticleIcon").addEventListener("change",function(){document.getElementById("articleIcon").style.backgroundImage='url("'+window.URL.createObjectURL(this.files[0])+'")'}),document.getElementById("configSetSingleImage").addEventListener("change",function(){var e=new FileReader;e.readAsDataURL(this.files[0]),e.onload=function(){document.getElementById("image").src=this.result}});for(var i=1;i<=9;i++)!function(e){document.getElementById("configSetMultiImage"+e).addEventListener("change",function(){document.getElementById("image"+e).style.backgroundImage='url("'+window.URL.createObjectURL(this.files[0])+'")'})}(i);document.getElementById("generate").addEventListener("click",function(){var e=document.getElementById("configUIWhite").checked;if(e?(document.getElementById("fakeWechatMoment").classList.add("whiteUI"),document.querySelector("#header > img").src="mdicons/black_icons/back.svg",document.querySelector(".content > img").src="mdicons/black_icons/comment.svg",document.querySelector("#footer > img").src="mdicons/black_icons/emoticon.svg"):(document.getElementById("fakeWechatMoment").classList.remove("whiteUI"),document.querySelector("#header > img").src="mdicons/white_icons/back.svg",document.querySelector(".content > img").src="mdicons/white_icons/comment.svg",document.querySelector("#footer > img").src="mdicons/white_icons/emoticon.svg"),document.getElementById("name").innerText=document.getElementById("configName").value,document.getElementById("text").innerText=document.getElementById("configText").value,document.getElementById("articleTitle").innerText=document.getElementById("configArticleTitle").value,""==document.getElementById("configLocation").value?document.getElementById("location").style.display="none":(document.getElementById("location").style.display="inline",document.getElementById("location").innerText=document.getElementById("configLocation").value),document.getElementById("text").innerHTML=emoticonReplace(document.getElementById("text").innerText),document.getElementById("configTypeMultiImage").checked){for(var t=1;t<=9;t++)document.getElementById("image"+t).style.display="inline-block";var n=0;for(n=9;n>=1&&""==document.getElementById("image"+n).style.backgroundImage;n--);4==n&&(document.getElementById("image5").style.backgroundImage=document.getElementById("image4").style.backgroundImage,document.getElementById("image4").style.backgroundImage=document.getElementById("image3").style.backgroundImage,document.getElementById("image3").style.backgroundImage="",n=5);for(t=n+1;t<=9;t++)document.getElementById("image"+t).style.display="none"}var o=[4,4,4,4,4,3,3,3,3,2,2,2,2,1,1,1,0],m=[4,4,4,4,4,3,3,3,3,3,2,2,2,2,1,1,0],c=[20,30,50,60,80,90,"full"];document.getElementById("configTopBarStatusIcons").checked?(document.getElementById("topBarIconWifi").src="mdicons/"+(e?"black_icons":"white_icons")+"/ic_signal_wifi_"+o[Math.floor(Math.random()*o.length)]+"_bar_48px.svg",document.getElementById("topBarIconSignal").src="mdicons/"+(e?"black_icons":"white_icons")+"/ic_signal_cellular_"+o[Math.floor(Math.random()*m.length)]+"_bar_48px.svg",document.getElementById("topBarIconBattery").src="mdicons/"+(e?"black_icons":"white_icons")+"/ic_battery_"+(Math.random()>.75?"charging_":"")+c[Math.floor(Math.random()*c.length)]+"_48px.svg"):(document.getElementById("topBarIconWifi").src="mdicons/"+(e?"black_icons":"white_icons")+"/ic_signal_wifi_4_bar_48px.svg",document.getElementById("topBarIconSignal").src="mdicons/"+(e?"black_icons":"white_icons")+"/ic_signal_cellular_4_bar_48px.svg",document.getElementById("topBarIconBattery").src="mdicons/"+(e?"black_icons":"white_icons")+"/ic_battery_full_48px.svg");var i=[["qq",.5],["wechat",.5],["cloudmusic",.25],["coolapk",.15],["tieba",.15],["acfun",.15]];if(i.sort(function(){return Math.random()>.5?1:-1}),document.getElementById("topBarAppIcons").innerHTML="",document.getElementById("configTopBarAppIcons").checked)for(t=0;t<i.length;t++)Math.random()<i[t][1]&&(document.getElementById("topBarAppIcons").innerHTML+='<img class="topBarIcon" src="mdicons/'+(e?"black_icons":"white_icons")+"/app_"+i[t][0]+'.svg">');var d=document.getElementById("configPostDate").valueAsDate;d.setHours(document.getElementById("configPostTimeHour").value),d.setMinutes(document.getElementById("configPostTimeMinute").value);var l=document.getElementById("configScreenshotDate").valueAsDate;l.setHours(document.getElementById("configScreenshotTimeHour").value),l.setMinutes(document.getElementById("configScreenshotTimeMinute").value),document.getElementById("time").innerText=getTimeString(l,d),document.getElementById("topBarTime").innerText=(document.getElementById("configScreenshotTimeHour").value<10?"0"+document.getElementById("configScreenshotTimeHour").value:document.getElementById("configScreenshotTimeHour").value)+":"+(document.getElementById("configScreenshotTimeMinute").value<10?"0"+document.getElementById("configScreenshotTimeMinute").value:document.getElementById("configScreenshotTimeMinute").value),""!=document.getElementById("configApp")&&(document.getElementById("time").innerText+=" "+document.getElementById("configApp").value);document.getElementsByClassName("likeAvatar");var g=avatarURL.concat(),a=0;document.getElementById("likeAvatarList").innerHTML="";for(t=0;t<document.getElementById("configLike").value;t++){g.length<=0&&(g=avatarURL.concat()),a=Math.floor(Math.random()*g.length);var u=document.createElement("div");u.setAttribute("class","likeAvatar squareImage"),u.setAttribute("style",'background-image: url("'+g[a]+'");'),document.getElementById("likeAvatarList").appendChild(u),g.splice(a,1)}if(document.getElementById("commentList").innerHTML="",document.getElementById("configShowComment").checked&&commentList.length){document.getElementById("comment").style.display="block";for(t=0;t<commentList.length;t++)document.getElementById("commentList").innerHTML+='<div class="commentItem"><div class="commentAvatar squareImage" style="background-image: url('+commentList[t].avatar+');"></div><div class="content"><span class="commentName">'+commentList[t].name+'</span><span class="commentTime">'+getTimeString(l,commentList[t].date)+'</span><div class="commentText">'+emoticonReplace(commentList[t].content)+"</div></div></div>"}else document.getElementById("comment").style.display="none";var s=Number(document.getElementById("configHeight").value);document.getElementById("fakeWechatMoment").style.display="block",document.getElementById("fakeWechatMoment").style.width="1080px",document.getElementById("fakeWechatMoment").style.height="",document.getElementById("fakeWechatMoment").style.height=(window.getComputedStyle(document.getElementById("fakeWechatMoment")).height.replace("px","")>s?window.getComputedStyle(document.getElementById("fakeWechatMoment")).height.replace("px",""):s)+"px",document.getElementById("configLike").value<=0?(document.getElementById("triangle").style.display="none",document.getElementById("like").style.display="none"):(document.getElementById("triangle").style.display="block",document.getElementById("like").style.display="block");var r=Number(window.getComputedStyle(document.getElementById("topBar")).height.replace("px",""))+Number(window.getComputedStyle(document.getElementById("header")).height.replace("px",""))+Number(window.getComputedStyle(document.getElementById("main")).height.replace("px",""));document.getElementById("footer").style.bottom=(r<s-Number(window.getComputedStyle(document.getElementById("footer")).height.replace("px",""))?-s+Number(window.getComputedStyle(document.getElementById("footer")).height.replace("px",""))+r:0)+"px",document.getElementById("generate").setAttribute("disabled",""),document.getElementById("generate").innerText="生成中...",html2canvas(document.getElementById("fakeWechatMoment"),{useCORS:!0,scale:1}).then(function(e){var t=e.toDataURL();document.getElementById("generated").src=t,document.getElementById("save").setAttribute("href",t),document.getElementById("save").setAttribute("download",(new Date).getTime()+".png"),new mdui.Dialog(document.getElementById("generatedPopup")).open(),document.getElementById("generate").removeAttribute("disabled"),document.getElementById("generate").innerText="生成"})});