您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
后台判断自动签到+抽奖
当前为
// ==UserScript== // @name 掘金日常一键操作 // @version 2.1 // @description 后台判断自动签到+抽奖 // @match https://juejin.cn/** // @run-at document-end // @namespace https://greasyfork.org/users/823922 // ==/UserScript== { // 注:现在本人还在研究如何自动获取到 aid 和 uuid,所以脚本里都是直接写死的,如果使用有问题,建议开控制台看下自己的请求里携带的 aid 及 uuid,然后替换掉第一行的 userInfo 变量 let userInfo = 'aid=2608&uuid=7016487434494658063'; let jqExist = () => { return typeof jQuery != 'undefined'; } // 用于加载 jq if (!jqExist()) { var script = document.createElement('script'), head = document.getElementsByTagName('head')[0]; script.type = 'text/javascript'; script.charset = 'UTF-8'; script.src = 'https://code.jquery.com/jquery-3.1.1.min.js'; head.appendChild(script); } let loadTime; loadTime = setInterval(() => { // 轮询检查 jq 载入,载入成功后去掉轮询 if (jqExist()) { unsafeWindow.$ = $; clearInterval(loadTime); run.once(); $(document).on('click', '*:not(#ou-chi-mao)', function() { run.once(); }) } }, 1000); function choujiang() { console.log('调用抽奖函数'); let obj = {}; let flag = true; simpleDialog.open(); new Promise((resolve, reject) => { call(); function call(time = 1200) { fetch(`https://api.juejin.cn/growth_api/v1/lottery/draw?${userInfo}`, httpConfig).then(resp => resp.json()).then(data => { if (data.err_msg != 'success') { resolve(); return; } let name = data.data.lottery_name; console.log(name); simpleDialog.addRecord(name) obj[name] = obj[name] || 0; obj[name] = obj[name] + 1; setTimeout(() => call(time), time); }) } }).then(data => { let keys = Object.keys(obj); simpleDialog.empty(); let msg = keys.length > 0 ? keys.map(k => k + ': ' + obj[k]).join('<br>') : '抽奖次数不足!'; simpleDialog.addRecord(msg); simpleDialog.close(); }) return false; } async function dayTask() { console.log('调用日活函数') // return false; let msgs = []; let freeLottery = true; // 签到 await fetch( `https://api.juejin.cn/growth_api/v1/check_in?${userInfo}&_signature=_02B4Z6wo00101q966EAAAIDCL3gSAGCq5SKvfuzAAMrJs3JkiZSLejXKJy5lR-3Rot9hYdZVnmHKrdQPh0MmwDCQsjT9tEIN0G3uIK8RsU7pcEznZ9.oqqfseed8PMV.rul6lxG-dkqFtwsq61`, httpConfig) .then(function(response) { return response.json(); }).then(data => { if (data.err_msg == 'success') { msgs.push('签到成功!'); } else { freeLottery = false; msgs.push(data.err_msg); unsafeWindow.localStorage.juejinDayTask = currDate(); } console.log(data); }); if (!freeLottery) return false; // 没有免费抽奖就退出 await fetch(`https://api.juejin.cn/growth_api/v1/lottery/draw?${userInfo}`, httpConfig) .then(function(response) { return response.json(); }).then(data => { if (data.err_msg == 'success') { msgs.push(`获得奖品 ${data.data.lottery_name}`); } console.log(data); }); simpleDialog.open(); simpleDialog.addRecord(msgs.join('<br>')); simpleDialog.close(1200); } function currDate() { let date = new Date(); return [date.getFullYear(), date.getMonth() + 1, date.getDate()].join('-'); } var httpConfig = { "headers": { "accept": "*/*", "accept-language": "zh-CN,zh;q=0.9", "content-type": "application/json", "sec-ch-ua": "\"Chromium\";v=\"94\", \"Google Chrome\";v=\"94\", \";Not A Brand\";v=\"99\"", "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": "\"Windows\"", "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-site" }, "referrer": "https://juejin.cn/", "referrerPolicy": "strict-origin-when-cross-origin", "body": "{}", "method": "POST", "mode": "cors", "credentials": "include" }; var run = (function() { // 用于处理,页面内点击时,异步刷新页面 let clickTime; return { once: () => { clearTimeout(clickTime); clickTime = setTimeout(() => { let $menu = $('.nav-list>.main-nav-list>ul'); if ($('#ou-chi-mao').length == 0) { // 当发现页面元素变化时,重写渲染,并绑定元素 $menu.find('li:gt(4)').remove(); $menu.find('li:last>a').attr({ 'id': 'ou-chi-mao', 'href': 'javascript:void(0);', }).css({ 'color': '#03f9', // 'font-family': 'serif', 'font-weight': 'bolder' }).text('血统鉴定'); // 通过 html 删除,再添加的方式,移除这个按钮上的绑定事件 let html = $('#ou-chi-mao').parent().prop('outerHTML'); $('#ou-chi-mao').parent().remove(); $menu.append(html); $('#ou-chi-mao').click(function() { choujiang(); console.log('false') return false; }) } let sysDate = unsafeWindow.localStorage.juejinDayTask; if (sysDate == null || sysDate != currDate()) { dayTask(); } }, 500) }, } })(); var simpleDialog = (function() { // 简易的弹窗效果 return { open: () => { let html = `<div id="lotteryResultDialog" style="position: absolute;z-index: 9999;width: 200px;height: 200px;left: calc(50vw - 100px);top: calc(30vh - 100px); border-radius: 5px;padding: 10px;overflow: hidden;box-shadow: 0 0 7px 1px #f00a;background: #fffa;"> <div style="overflow: auto;width: 240px;height: 200px;"></div> </div> `; $('body').append(html); }, addRecord: (msg) => { let html = `<div style="padding: 5px;font-size: 16px;display:none">${msg}</div>`; $('#lotteryResultDialog>div').prepend(html); $('#lotteryResultDialog>div>div:first').show(100).css({ 'color': 'red' }) .siblings().css({ 'color': '#000' }) }, close: (time = 1200) => { setTimeout(() => $('#lotteryResultDialog').slideUp(300, function() { $('#lotteryResultDialog').remove() }), time) }, empty: () => { $('#lotteryResultDialog>div').empty(); } } })(); unsafeWindow.simpleDialog = simpleDialog; }