您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
使你的小码王更易于使用
// ==UserScript== // @name 小码王Plus // @version 1.4.2 // @description 使你的小码王更易于使用 // @author 红石镐&Copilot // @match https://world.xiaomawang.com/* // @icon https://world.xiaomawang.com/favicon.ico // @license MIT // @grant GM_getValue // @grant GM_setValue // @grant GM_registerMenuCommand // @require https://cdn.jsdelivr.net/npm/sweetalert2@11/dist/sweetalert2.all.min.js // @namespace https://gf.qytechs.cn/users/1254226 // ==/UserScript== //1.4.2版本为油叉特供版,也是在油叉发布的最后一个小码王Plus版本,不属于正式版。 //请到Github查看正式版 (function () { 'use strict'; // 初始化设置 const settings = { autoReceive: GM_getValue('autoReceive', true), // 自动领取奖励 autoSignIn: GM_getValue('autoSignIn', true), // 自动签到 autoLoadComments: GM_getValue('autoLoadComments', true), // 自动展开评论 autoExpandReplies: GM_getValue('autoExpandReplies', false), // 自动展开子回复 autoClickMore: GM_getValue('autoClickMore', true), // 自动点击个人主页中查看更多按钮 messageDoNotDisturb: GM_getValue('messageDoNotDisturb', false), // 消息免打扰 removeDynamicRedDot: GM_getValue('removeDynamicRedDot', false), // 动态免打扰 removeAvatarFrame: GM_getValue('removeAvatarFrame', false), // 移除头像框 removeMagicReview: GM_getValue('removeMagicReview', false), // 移除右下角魔力测评 taskCenterDoNotDisturb: GM_getValue('taskCenterDoNotDisturb', false) // 任务中心免打扰 }; // 注册(不可用)设置菜单命令 GM_registerMenuCommand('设置', openSettingsDialog); // 重置上次显示弹窗的时间(测试用) //GM_setValue('lastAlertDate', ''); const today = new Date().toISOString().split('T')[0]; // 获取当前日期 const lastAlertDate = GM_getValue('lastAlertDate', ''); if (today !== lastAlertDate) { // 显示警告弹窗 showWarningAlert(); GM_setValue('lastAlertDate', today); // 更新存储的日期为当前日期 } function showWarningAlert() { const cancelButton = Swal.fire({ title: '警告', icon: 'error', // 使用 SweetAlert2 自带的错误图标 html: `<div style="text-align: left;"> 检测到你正在使用从GreasyFork安装的小码王Plus。<br><br> <strong>请注意:</strong>由于某些原因,<strong>GreasyFork中的小码王Plus将不再受到维护</strong>, 请前往<a href="https://github.com/RSPqfgn/XMWplus/" target="_blank">Github</a>下载受支持的版本。<br> 你仍然可以正常使用该版本的小码王Plus,但这个弹窗每天都会弹出,直到您安装了来自Github的最新版本。<br> 如果你无法正常访问Github,可尝试<a href="https://kkgithub.com/RSPqfgn/XMWplus" target="_blank">Github镜像站</a>。<br><br> <strong>注意:</strong>GreasyFork版本与Github版本互不兼容,请卸载GreasyFork版本后再安装Github版本 </div>`, showCancelButton: true, confirmButtonText: '<a href="https://github.com/RSPqfgn/XMWplus/" target="_blank" style="color: white;">前往Github</a>', cancelButtonText: '取消', customClass: { confirmButton: 'custom-confirm-button', cancelButton: 'custom-cancel-button' }, didOpen: () => { // 移除倒计时功能 } }); } function openSettingsDialog() { Swal.fire({ title: '设置', html: ` <style> /* 样式定义 */ .button-container { display: flex; /* 使用 Flexbox */ justify-content: flex-start; /* 紧挨着的排列 */ margin-bottom: 20px; /* 按钮底部的间距 */ } .section { margin-right: 10px; /* 右侧间距,留一点距离 */ font-weight: bold; /* 加粗分类标题 */ cursor: pointer; /* 鼠标手势 */ padding: 10px; background-color: #f0f0f0; /* 背景色 */ border-radius: 4px; } .section.active { /* 高亮样式 */ background-color: #007bff; /* 高亮背景色 */ color: white; /* 高亮字体颜色 */ } .custom-confirm-button { background-color: #007bff !important; /* 确认按钮颜色 */ color: white !important; /* 确认按钮字体颜色 */ border-radius: 8px; /* 按钮圆角 */ } .custom-confirm-button:hover { background-color: #0056b3 !important; /* 悬停时的颜色 */ } .custom-cancel-button { background-color: #ccc; /* 取消按钮颜色 */ color: white; /* 字体颜色 */ border-radius: 8px; /* 按钮圆角 */ } .custom-cancel-button:hover { background-color: #bbb; /* 悬停时的颜色 */ } .hidden { display: none; /* 隐藏 */ } /* 其他勾选框样式 */ .custom-checkbox { display: flex; align-items: center; margin-bottom: 10px; /* 增加标签间距 */ } .custom-checkbox input[type="checkbox"] { appearance: none; /* 关闭默认样式 */ width: 24px; /* 自定义勾选框大小 */ height: 24px; /* 自定义勾选框大小 */ border: 2px solid #007bff; /* 勾选框边框 */ border-radius: 4px; /* 勾选框圆角 */ outline: none; /* 关闭默认高亮 */ cursor: pointer; /* 鼠标手势 */ position: relative; /* 设为相对定位 */ margin-right: 10px; /* 标签和勾选框间隔 */ transition: background-color 0.3s, border-color 0.3s; /* 动效 */ } .custom-checkbox input[type="checkbox"]:checked { background-color: #007bff; /* 勾选框背景颜色 */ border-color: #007bff; /* 选中后的边框颜色 */ } .custom-checkbox input[type="checkbox"]:checked::before { content: '✔'; /* 勾选后显示的符号 */ position: absolute; left: 50%; /* 符号水平居中 */ top: 50%; /* 符号垂直居中 */ transform: translate(-50%, -50%); /* 调整符号位置 */ color: white; /* 符号颜色 */ font-size: 18px; /* 符号大小 */ } </style> <div class="button-container"> <div id="taskSection" class="section active">自动任务</div> <!-- 默认高亮 --> <div id="customSection" class="section">界面定制</div> </div> <div id="taskSettings"> <label class="custom-checkbox"> <input type="checkbox" name="autoReceive" ${settings.autoReceive ? 'checked' : ''}> 自动领取奖励 </label><br/> <label class="custom-checkbox"> <input type="checkbox" name="autoSignIn" ${settings.autoSignIn ? 'checked' : ''}> 自动签到 </label><br/> <label class="custom-checkbox"> <input type="checkbox" name="autoLoadComments" ${settings.autoLoadComments ? 'checked' : ''}> 自动展开评论 </label><br/> <label class="custom-checkbox"> <input type="checkbox" name="autoExpandReplies" ${settings.autoExpandReplies ? 'checked' : ''}> 自动展开子回复 </label><br/> <label class="custom-checkbox"> <input type="checkbox" name="autoClickMore" ${settings.autoClickMore ? 'checked' : ''}> 自动点击查看更多 </label><br/> </div> <div id="customSettings" class="hidden"> <label class="custom-checkbox"> <input type="checkbox" name="messageDoNotDisturb" ${settings.messageDoNotDisturb ? 'checked' : ''}> 消息免打扰 </label><br/> <label class="custom-checkbox"> <input type="checkbox" name="removeDynamicRedDot" ${settings.removeDynamicRedDot ? 'checked' : ''}> 动态免打扰 </label><br/> <label class="custom-checkbox"> <input type="checkbox" name="taskCenterDoNotDisturb" ${settings.taskCenterDoNotDisturb ? 'checked' : ''}> 任务中心免打扰 </label><br/> <label class="custom-checkbox"> <input type="checkbox" name="removeAvatarFrame" ${settings.removeAvatarFrame ? 'checked' : ''}> 移除头像框 </label><br/> <label class="custom-checkbox"> <input type="checkbox" name="removeMagicReview" ${settings.removeMagicReview ? 'checked' : ''}> 移除右下角魔力测评 </label><br/> </div> `, showCancelButton: true, confirmButtonText: '保存', cancelButtonText: '取消', customClass: { confirmButton: 'custom-confirm-button', cancelButton: 'custom-cancel-button' }, // 修改后的 didOpen 回调: didOpen: () => { // 自动任务按钮点击事件 document.getElementById('taskSection').addEventListener('click', () => { if (!document.getElementById('taskSettings').classList.contains('hidden')) return; document.getElementById('taskSettings').classList.remove('hidden'); document.getElementById('customSettings').classList.add('hidden'); // 高亮逻辑(删除对 advancedSection 的引用) document.querySelectorAll('.section').forEach(section => section.classList.remove('active')); document.getElementById('taskSection').classList.add('active'); }); // 界面定制按钮点击事件 document.getElementById('customSection').addEventListener('click', () => { if (!document.getElementById('customSettings').classList.contains('hidden')) return; document.getElementById('customSettings').classList.remove('hidden'); document.getElementById('taskSettings').classList.add('hidden'); // 高亮逻辑(删除对 advancedSection 的引用) document.querySelectorAll('.section').forEach(section => section.classList.remove('active')); document.getElementById('customSection').classList.add('active'); }); }, preConfirm: () => { settings.autoReceive = document.querySelector('input[name="autoReceive"]').checked; // 获取领取奖励状态 settings.autoSignIn = document.querySelector('input[name="autoSignIn"]').checked; // 获取签到状态 settings.autoLoadComments = document.querySelector('input[name="autoLoadComments"]').checked; // 获取展开评论状态 settings.autoExpandReplies = document.querySelector('input[name="autoExpandReplies"]').checked; // 获取展开子回复状态 settings.autoClickMore = document.querySelector('input[name="autoClickMore"]').checked; // 获取查看更多按钮状态 settings.messageDoNotDisturb = document.querySelector('input[name="messageDoNotDisturb"]').checked; // 获取免打扰状态 settings.removeDynamicRedDot = document.querySelector('input[name="removeDynamicRedDot"]').checked; // 获取动态免打扰状态 settings.removeAvatarFrame = document.querySelector('input[name="removeAvatarFrame"]').checked; // 获取移除头像框状态 settings.removeMagicReview = document.querySelector('input[name="removeMagicReview"]').checked; // 获取移除魔力测评状态 settings.taskCenterDoNotDisturb = document.querySelector('input[name="taskCenterDoNotDisturb"]').checked; // 获取任务中心免打扰状态 GM_setValue('autoReceive', settings.autoReceive); // 保存领取奖励状态 GM_setValue('autoSignIn', settings.autoSignIn); // 保存签到状态 GM_setValue('autoLoadComments', settings.autoLoadComments); // 保存展开评论状态 GM_setValue('autoExpandReplies', settings.autoExpandReplies); // 保存展开子回复状态 GM_setValue('autoClickMore', settings.autoClickMore); // 保存查看更多按钮状态 GM_setValue('messageDoNotDisturb', settings.messageDoNotDisturb); // 保存免打扰状态 GM_setValue('removeDynamicRedDot', settings.removeDynamicRedDot); // 保存动态免打扰状态 GM_setValue('removeAvatarFrame', settings.removeAvatarFrame); // 保存移除头像框状态 GM_setValue('removeMagicReview', settings.removeMagicReview); // 保存移除魔力测评状态 GM_setValue('taskCenterDoNotDisturb', settings.taskCenterDoNotDisturb); // 保存任务中心免打扰状态 return Swal.fire({ title: '设置已保存', text: '更改的设置需刷新后生效,是否刷新?', showCancelButton: true, confirmButtonText: '刷新', cancelButtonText: '取消', customClass: { confirmButton: 'custom-confirm-button', cancelButton: 'custom-cancel-button' } }).then((result) => { if (result.isConfirmed) { window.location.reload(); } }); } });} // 当页面加载完成后开始执行功能并移除遮罩层 window.onload = function() { // 自动领取奖励的代码... if (settings.autoReceive) { function clickReceive() { var receiveButton = document.querySelector("div.taskAction__3nOcF.taskReceiveReward__16CiZ"); if (receiveButton && receiveButton.textContent === "领取") { receiveButton.click(); } } // 持续检查领取奖励元素是否存在 setInterval(function() { clickReceive(); // 如果找到元素则执行领取 }, 1000); } // 自动签到的代码... if (settings.autoSignIn) { setTimeout(function() { if (window.location.href.includes('/w/index')) { var signInButton = document.evaluate("//div [@class='goTaskCenter__h4wru' and text()='签到']", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; if (signInButton) { function clickSignInButton() { if (document.body.textContent.includes("已领取")) { clearInterval(signInInterval); } else { signInButton.click(); } } var signInInterval = setInterval(clickSignInButton, 1000); } } }, 4000); // 等待网页加载4秒后执行 } // 自动展开评论的代码... if (settings.autoLoadComments) { setInterval(function() { var moreCommentsButton = document.querySelector('span.iconfont.icon-shequ-xiala.more-comment-icon__2Bxj9'); if (moreCommentsButton) { moreCommentsButton.click(); } }, 1000); } // 自动展开子回复的代码... if (settings.autoExpandReplies) { setInterval(function() { var replyMoreButton = document.evaluate("//span[contains(@class, 'reply-more-button-text__iB2jQ')]", document, null, XPathResult.ANY_TYPE, null); var button = replyMoreButton.iterateNext(); while (button) { button.click(); button = replyMoreButton.iterateNext(); } }, 1000); } // 自动点击个人主页中查看更多按钮 if (settings.autoClickMore) { setInterval(function() { // 检查是否存在 "查看更多" 按钮 var seeMoreButton = document.querySelector('.seeMore__1QtpQ'); if (seeMoreButton && seeMoreButton.textContent.trim() === "查看更多") { seeMoreButton.click(); // 点击按钮 } }, 1000); } // 消息免打扰功能 if (settings.messageDoNotDisturb) { setInterval(function() { var messageCountElement = document.querySelector('.message-count__2M-on'); if (messageCountElement) { messageCountElement.remove(); // 删除消息计数元素 } }, 1000); } // 动态免打扰功能 if (settings.removeDynamicRedDot) { setInterval(function() { var dynamicRedDotElement = document.querySelector('.dynamic-red-dot__3FSaW'); if (dynamicRedDotElement) { dynamicRedDotElement.remove(); // 删除动态红点元素 } }, 1000); } // 任务中心免打扰功能 if (settings.taskCenterDoNotDisturb) { setInterval(function() { // Xpath定位元素 const taskCenterBadge = document.evaluate('//*[@id="header"]/div/div/div[1]/div/div/div/ul/li[4]/a/span/sup', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; const otherBadge = document.evaluate('//*[@id="__next"]/div[2]/div[2]/div[2]/div[3]/div[1]/div[2]/span/sup', document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; // 移除元素 if (taskCenterBadge) { taskCenterBadge.remove(); // 删除任务中心元素 } if (otherBadge) { otherBadge.remove(); // 删除任务中心元素 } }, 500); } // 移除头像框功能 if (settings.removeAvatarFrame) { setInterval(function() { // 移除 headDecoration__3FOFH 元素 var avatarFrameElement = document.querySelector('.headDecoration__3FOFH'); if (avatarFrameElement) { avatarFrameElement.remove(); // 删除头像框元素 } // 移除 decorationImg__76Jm7 元素 var decorationImgElement = document.querySelector('.decorationImg__76Jm7'); if (decorationImgElement) { decorationImgElement.remove(); // 删除头像框元素 } }, 100); } // 移除魔力测评功能 if (settings.removeMagicReview) { setInterval(function() { //移除 outer__3SbsJ 元素 var outerElement = document.querySelector('.outer__3SbsJ'); if (outerElement) { outerElement.remove(); // 删除魔力测评元素 } }, 1000); } }; })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址