您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
下班
当前为
// ==UserScript== // @name 微步下班倒计时 // @namespace http://tampermonkey.net/ // @version 2023年8月16日11点03分 // @description 下班 // @author wwsuixin // @match https://x.threatbook.com/ // @icon https://www.google.com/s2/favicons?sz=64&domain=threatbook.com // @grant none // ==/UserScript== (function () { window.onload = setTimeout(click_item, 500); function click_item() { var xpath = '//*[@id="app"]/div[1]/div[1]/div[2]/div[6]/div[2]/div[1]'; var element = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue; var 自定义div = document.createElement('div'); let 摸鱼开始时间 = new Date(); if (element) { 自定义div.innerHTML = '<hr><div id="自定义divid" style="color: red; font-size: 14px; font-weight: bold; font-family: 楷体;"> <div id="已经工作divid">🕢 已经工作:<span id="已经工作天数id">0</span> 天 <span id="已经工作小时id">xx</span> 小时 <span id="已经工作分钟id">xx</span> 分钟 <span id="已经工作秒id">xx</span> 秒</div> <div id="距离下班divid">🕙 距离下班:<span id="距离下班天数id">0</span> 天 <span id="距离下班小时id">xx</span> 小时 <span id="距离下班分钟id">xx</span> 分钟 <span id="距离下班秒id">xx</span> 秒</div> <div id="进度条"> <div id="进度条divid" style="margin-top: 5px;display:inline;float:left;width: 76%;height: 10px;border: 1px solid #565656; background: white; position: relative;"> <div id="实时进度条divid" style="position: absolute; left: 0; top: 0; z-index: 2; height: 10px; width: 100%; font-weight: bold; font-family: Georgia; clip: rect(0px, 0, 10px, 0px); background: #ff0000;"> 0%</div> </div> <div style="display:inline;float:left;width: 2%;"> </div> <div id="进度条数值divid" style="display:inline;float:left;width: 22%;">0%</div> </div> <div id="今日收入divid"> 💰 今日收入:<span id="今日已收入id">xx</span>/<span id="今日总收入id">xx</span> </div> <div id="活动结束divid">🔚 活动结束:<span id="活动结束天数id">xx</span> 天 <span id="活动结束小时id">xx</span> 小时 <span id="活动结束分钟id">xx</span> 分钟 <span id="活动结束秒id">xx</span> 秒</div> <div id="摸鱼计时divid">🐟 您已摸鱼:<span id="摸鱼计时天数id">xx</span> 天 <span id="摸鱼计时小时id">xx</span> 小时 <span id="摸鱼计时分钟id">xx</span> 分钟 <span id="摸鱼计时秒id">xx</span> 秒<br ><span id="摸鱼提醒id"></span></div></div>'; element.insertAdjacentElement('afterend', 自定义div); // element.appendChild(自定义div); let 结束时间 = new Date(); 结束时间.setFullYear(2023, 7, 23); 结束时间.setHours(21, 0, 0, 0); // 执行上面的代码 let 下班时间 = new Date(); 下班时间.setHours(22, 0, 0, 0); let 上班时间 = new Date(); 上班时间.setHours(8, 30, 0, 0); let 当日工资 = 10000 let 进度条数值divid = document.getElementById("进度条数值divid"); let 进度条divid = document.getElementById("进度条divid"); let 实时进度条divid = document.getElementById("实时进度条divid"); let 已经工作divid = document.getElementById("已经工作divid"); let 距离下班divid = document.getElementById("距离下班divid"); let 已经工作小时id = document.getElementById("已经工作小时id"); let 已经工作分钟id = document.getElementById("已经工作分钟id"); let 已经工作秒id = document.getElementById("已经工作秒id"); let 距离下班小时id = document.getElementById("距离下班小时id"); let 距离下班分钟id = document.getElementById("距离下班分钟id"); let 距离下班秒id = document.getElementById("距离下班秒id"); let 今日收入divid = document.getElementById("今日收入divid"); let 今日已收入id = document.getElementById("今日已收入id"); let 今日总收入id = document.getElementById("今日总收入id"); let 活动结束divid = document.getElementById("活动结束divid"); let 活动结束天数id = document.getElementById("活动结束天数id"); let 活动结束小时id = document.getElementById("活动结束小时id"); let 活动结束分钟id = document.getElementById("活动结束分钟id"); let 活动结束秒id = document.getElementById("活动结束秒id"); let 摸鱼计时divid = document.getElementById("摸鱼计时divid"); let 摸鱼计时天数id = document.getElementById("摸鱼计时天数id"); let 摸鱼计时小时id = document.getElementById("摸鱼计时小时id"); let 摸鱼计时分钟id = document.getElementById("摸鱼计时分钟id"); let 摸鱼计时秒id = document.getElementById("摸鱼计时秒id"); let 摸鱼提醒id = document.getElementById("摸鱼提醒id"); 今日总收入id.textContent = 当日工资; setInterval(function () { let 当前时间 = new Date(); let 摸鱼时间间隔 = 当前时间 - 摸鱼开始时间; let 摸鱼计时天数 = Math.floor(摸鱼时间间隔 / (1000 * 60 * 60 * 24)); let 摸鱼计时小时 = Math.floor((摸鱼时间间隔 % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); let 摸鱼计时分钟 = Math.floor((摸鱼时间间隔 % (1000 * 60 * 60)) / (1000 * 60)); let 摸鱼计时秒 = Math.floor((摸鱼时间间隔 % (1000 * 60)) / 1000); 摸鱼计时天数id.textContent = 摸鱼计时天数; 摸鱼计时小时id.textContent = 摸鱼计时小时; 摸鱼计时分钟id.textContent = 摸鱼计时分钟; 摸鱼计时秒id.textContent = 摸鱼计时秒; 摸鱼计时分钟id.textContent = 摸鱼计时分钟; 摸鱼计时秒id.textContent = 摸鱼计时秒; if (摸鱼计时分钟 > 5) { 摸鱼提醒id.textContent = "摸鱼超过5分钟了,该去看看态势感知平台啦!"; } else { 摸鱼提醒id.textContent = ""; } let 距离上班时间间隔 = 当前时间 - 上班时间; let days = Math.floor(距离上班时间间隔 / (1000 * 60 * 60 * 24)); let hours = Math.floor((距离上班时间间隔 % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); let minutes = Math.floor((距离上班时间间隔 % (1000 * 60 * 60)) / (1000 * 60)); let seconds = Math.floor((距离上班时间间隔 % (1000 * 60)) / 1000); 已经工作小时id.textContent = hours; 已经工作分钟id.textContent = minutes; 已经工作秒id.textContent = seconds; let 距离下班时间间隔 = 下班时间 - 当前时间; if (距离下班时间间隔 < 0) { 距离下班divid.textContent = "🕙 警告:工作时间已经结束!"; } else { let days = Math.floor(距离下班时间间隔 / (1000 * 60 * 60 * 24)); let hours = Math.floor((距离下班时间间隔 % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); let minutes = Math.floor((距离下班时间间隔 % (1000 * 60 * 60)) / (1000 * 60)); let seconds = Math.floor((距离下班时间间隔 % (1000 * 60)) / 1000); 距离下班小时id.textContent = hours.toString(); 距离下班分钟id.textContent = minutes.toString(); 距离下班秒id.textContent = seconds.toString(); } let 已收入 = 0 if (距离下班时间间隔 < 0) { 已收入 = 当日工资 今日收入divid.textContent = "💰 今日收入:" + 当日工资 + "/" + 当日工资 + "(加班也没钱)"; } else { const 需工作时间 = 下班时间 - 上班时间; const 需工作秒数 = 需工作时间 / 1000; const 每秒收入 = 当日工资 / 需工作秒数; const 上班总秒数 = 距离上班时间间隔 / 1000 已收入 = (上班总秒数 * 每秒收入).toFixed(4) 今日已收入id.textContent = 已收入; } const 当前进度 = ((已收入 / 当日工资) * 100).toFixed(2) 进度条更新(进度条divid, 实时进度条divid, 进度条数值divid, 当前进度) let 距离结束时间间隔 = 结束时间 - 当前时间; if (距离结束时间间隔 < 0) { 活动结束divid.textContent = "🎆 恭喜你,坚持到了最后!"; } else { let days = Math.floor(距离结束时间间隔 / (1000 * 60 * 60 * 24)); let hours = Math.floor((距离结束时间间隔 % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); let minutes = Math.floor((距离结束时间间隔 % (1000 * 60 * 60)) / (1000 * 60)); let seconds = Math.floor((距离结束时间间隔 % (1000 * 60)) / 1000); 活动结束天数id.textContent = days.toString(); 活动结束小时id.textContent = hours.toString(); 活动结束分钟id.textContent = minutes.toString(); 活动结束秒id.textContent = seconds.toString(); } }, 1000); } else { setTimeout(click_item, 300) //300 毫秒 } } function 进度条更新(进度条divid, 实时进度条divid, 进度条数值divid, 当前进度) { // 获取总进度条的宽度 var allWidth = parseInt(getStyle(进度条divid, 'width')); // 设定内层两个div的文字内容一样 console.log(当前进度) 进度条数值divid.innerHTML = 当前进度 + '%'; // 修改clip的的宽度值 实时进度条divid.style.clip = 'rect(0px, ' + 当前进度 / 100 * allWidth + 'px, 10px, 0px)'; // 获取当前元素的属性值 function getStyle(obj, attr) { // 兼容IE if (obj.currentStyle) { return obj.currentStyle[attr]; } else { // 第二个参数为false是通用的写法,目的是为了兼容老版本 return getComputedStyle(obj, false)[attr]; } } } })();