@
boringwheat //自动签到
(function() {
// 检查 src 是否包含 '/mission/daily' 避免 iframe 无限套娃
const iframeSrc = window.location.href;
if ((window.self !==
window.top) && iframeSrc.includes('/mission/daily')) {
//console.log('当前在 iframe 中,且 src 包含 /mission/daily');
return ;
}
// 检查是否已登录(没有注册/登录链接)
var signupLinks = document.querySelectorAll('a[href="/signup"], a[href="/signin"]');
var isLoggedIn = signupLinks.length === 0 && !document.body.innerHTML.includes(';</span> 创建新回复</div>');
if (isLoggedIn) {
var userLink = document.querySelector('a[href^="/member/"]');
if (!userLink){
return;
}
// 创建不可见的 iframe
var iframe = document.createElement('iframe');
iframe.src = '/mission/daily';
iframe.id = 'qiandao';
// 隐藏 iframe
//iframe.style.display = 'none';
iframe.style.width = '0';
iframe.style.height = '0';
iframe.style.border = 'none';
iframe.style.visibility = 'hidden';
iframe.style.position = 'absolute';
// 当 iframe 加载完成后执行
iframe.onload = function() {
// 获取 iframe 内的文档对象
var iframe = document.querySelector('#qiandao');
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
var 签到状态 = iframeDoc.querySelector('div#Main>div.box').innerText.indexOf("每日登录奖励已领取");
if (签到状态 > -1) {
//今天已经签到了
document.querySelector("#search").placeholder = "签到已经完成";
// 完成后移除 iframe
document.body.removeChild(iframe);
// 隐藏签到提示
const targetLinks = Array.from(document.querySelectorAll("#Rightbar > div.box a")).filter(a => {
return a.textContent.trim() === '领取今日的登录奖励';
});
if (targetLinks.length>0) {
// 获取第一个匹配 a 标签的父级 div.box
const parentBox = targetLinks[0].closest('div.box');
// 隐藏这个 div.box
if (parentBox) {
parentBox.style.display = 'none';
}
}
}else{
var 签到按钮 = iframeDoc.querySelector("input[type=button][value='领取 X 铜币']");
var 签到地址 = "/mission/daily/redeem?"+签到按钮.getAttribute('onclick').match(/once=[^']+/)[0];
iframe.src = 签到地址;
}
};
// 将 iframe 添加到页面
document.body.appendChild(iframe);
}
})();